Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как, как можно проще переделать 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо