Вниз
Скачать: CL | DM;

Как преобразовать ICO которая находится в потоке в PBitmap?   Найти похожие ветки 

 
BaryVetaL ©   (2006-01-10 10:21) [0]

Кто знает как преобразовать ICO которая находится в потоке в PBitmap?
Спасибо!


 
BaryVetaL ©   (2006-01-10 10:26) [1]

поток естественно PStream :-)


 
Igi   (2006-01-10 13:48) [2]

Может помогет, писал процедуру недавно чтобы текст в трее показывать...

procedure StringToIcon(symb:string;var Icon:PIcon);
{создание значка с надписью из symb}
Var Rect: TRect;
   IcoBmp,ANDmask: PBitmap; {переменные типа BitMap}
   IcoInfo : TIconInfo;
begin
  try
     Icon.Free; {если она существовала - удаляем}
  except
  end;
   Rect.Left := 0;
   Rect.Right := 17;
   Rect.Top := 0;
   Rect.Bottom := 17;

   // Создали картинку с текстом. Черный текст на белом фоне.
   IcoBmp := NewBitmap(0, 0);
   IcoBmp.Height:=16; {новая картинка 32х32}
   IcoBmp.Width:=16;
   IcoBmp.Canvas.Brush.Color:=clWhite; {будущая маска AND}
   IcoBmp.Canvas.FillRect(Rect);
   IcoBmp.Canvas.Font.Assign(Form1.Form.Font);
   IcoBmp.Canvas.Font.Color := clBlack;
   IcoBmp.Canvas.TextOut(1,1,symb); {выводим текст значка}
   {создали белую картинку с текстом}

   {Теперь нужна анд маска - белые писели это прозрачный фон, а черные - это то что можно показыывать}
   ANDMask := NewBitmap(0, 0);
   ANDMask.Height:=16;
   ANDMask.Width:=16;
   ANDMask.Assign(IcoBmp);
   ANDMask.Convert2Mask(clWhite);

  {обеспечиваем прозрачность полностью черной маской XOR}
  Icon := NewIcon;
  Icon.Add2AutoFree(Form1.Form);

  IcoInfo.fIcon := True; {A value of TRUE specifies an icon}
  IcoInfo.xHotspot := 0;
  IcoInfo.yHotspot := 0;
  IcoInfo.hbmMask := ANDMask.Handle;
  IcoInfo.hbmColor := IcoBmp.Handle;
  Icon.Handle := CreateIconIndirect(IcoInfo); {создали}
  Icon.SaveToFile("C:\ico.ico");

  IcoBmp.Free;
  ANDMask.Free;
end;

Что-то с маской некорректно работает, но то что требовалось мне я от ней добился


 
Muxaspb ©   (2006-01-10 16:20) [3]


var
 Icon: PIcon;
 Bitmap: PBitmap;
 Stream: PStream;

...

var

Icon.LoadFromStream(Stream);
Bitmap.Handle:=Icon.Convert2Bitmap(clWhite);


 
Muxaspb ©   (2006-01-10 16:22) [4]

В предыдущем сообщении лишню var написал.


 
Vedun   (2006-01-10 22:48) [5]

Привет BaryVetaL.
Как там твой конвертер VCL->KOL? Как продвигается работа?


 
BaryVetaL ©   (2006-01-11 09:38) [6]

Все Ok процесс идет ;-)
Но для показа еще не готов (готов но работает не так как хочу я)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
9-1137844132
Lamer:)
2006-01-21 14:48
2006.10.29
Помогите создать игру


1-1158407293
Прогер
2006-09-16 15:48
2006.10.29
Unicode <=> ANSI


15-1160158025
AntiUser
2006-10-06 22:07
2006.10.29
Один запрос 0.5 сек, такой же изменный 15 сек 8(


15-1160051525
vidiv
2006-10-05 16:32
2006.10.29
Глюк со звуком... толи с винампом


2-1160719741
Alex_C
2006-10-13 10:09
2006.10.29
Почему мерцает TMemo




   Наверх