![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как, как можно проще переделать Bitmap в Icon [D6, D7, WinXP]
Tigert © (2004-11-28 19:37:00)Вообще-то хотел сделать подобие часиков в системном трее. С треем проблем нет. А вот как приготовить для него иконку - тут уж.... слов нет. Мучался, мучался:
- создаю TPicture,
- рисую на его Bitmap'е текущее время,
- создаю TIcon,
- делаю aIcon.assign(aPicture.Icon);
и нифига, некакой реакции. aIcon пуста,в aPicture.Icon тож пусто.
В книженции написано что aPicture.Icon интерпретирует графич. объект как иконку. Может я не так понимаю. ПОМОГИТЕ пожалуста.
...Заранее благодарен.
grom (2004-11-29 19:27:00) [1]procedure TForm1.Button1Click(Sender: TObject);
var
newIcon : tIcon ;
ImageList : tImageList ;
hBmp : THandle;
BkCol : TColor;
begin
// Определяем цвет фона картинки
hBmp := bmpImage.Picture.Bitmap.Canvas.Handle ;
BkCol := GetPixel(hBmp, 0, 0) ;
// Засовываем Bitmap в ImageList
ImageList := tImageList.Create(self) ;
ImageList.AddMasked (bmpImage.Picture.Bitmap, BkCol) ;
// Перекладываем Bitmap в Icon
newIcon := tIcon.Create ;
ImageList.GetIcon (0, newIcon) ;
// Сохраняем полученную иконку в файле
newIcon.SaveToFile (icoFileName) ;
newIcon.Free ;
ImageList.Free ;
end
//////////
procedure TForm1.Button1Click(Sender: TObject);
var
iml:TImageList;
begin
iml:=TImageList.CreateSize(32,32);
Iml.AddMasked(Image1.Picture.Bitmap,clWhite);
Iml.GetIcon(0,Image2.Picture.Icon);
Image2.Picture.SaveToFile('1.ico');
iml.Free;
end;
Mihey_temporary (2004-11-28 19:51:00) [2]How do I create an icon from a bitmap?
http://bdn.borland.com/article/0,1410,17748,00.html