Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: 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 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.066 c
15-1160477050
sergey888
2006-10-10 14:44
2006.10.29
Какой купить автомобиль?


2-1160769352
Plm
2006-10-13 23:55
2006.10.29
Подключение к базе Microsoft Access


15-1160326656
default
2006-10-08 20:57
2006.10.29
TQueue


15-1160303346
Terb
2006-10-08 14:29
2006.10.29
Помогите разобраться с графами!


2-1160833820
sss1
2006-10-14 17:50
2006.10.29
запуск программы 1 раз