Главная страница
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.143 c
2-1160635715
Megabyte
2006-10-12 10:48
2006.10.29
Ругается на GRANT в теле хранимой процедуры


2-1161007194
dim2001
2006-10-16 17:59
2006.10.29
stringgrid фокус ввода


2-1160682299
Westbronx
2006-10-12 23:44
2006.10.29
html в memo


2-1160732461
vigo_
2006-10-13 13:41
2006.10.29
правильный поиск в строке


15-1159974010
Сатир
2006-10-04 19:00
2006.10.29
Спрашивали на собеседовании...