Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Как, как можно проще переделать Bitmap в Icon   Найти похожие ветки 

 
Tigert ©   (2004-11-28 19:37) [0]

Вообще-то хотел сделать подобие часиков в системном трее. С треем проблем нет. А вот как приготовить для него иконку - тут уж.... слов нет. Мучался, мучался:
- создаю TPicture,
- рисую на его Bitmap"е текущее время,
- создаю TIcon,
- делаю aIcon.assign(aPicture.Icon);
и нифига, некакой реакции. aIcon пуста,в aPicture.Icon тож пусто.
В книженции написано что aPicture.Icon интерпретирует графич. объект как иконку. Может я не так понимаю. ПОМОГИТЕ пожалуста.
...Заранее благодарен.


 
Mihey_temporary ©   (2004-11-28 19:51) [1]

How do I create an icon from a bitmap?
http://bdn.borland.com/article/0,1410,17748,00.html


 
grom   (2004-11-29 19:27) [2]

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;



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

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

Наверх




Память: 0.47 MB
Время: 0.032 c
1-1109847063
Veles
2005-03-03 13:51
2005.03.20
Протокол модема в текстовый файл


4-1107427381
Zilog
2005-02-03 13:43
2005.03.20
Delphi + USB= ?


4-1107407391
Yus
2005-02-03 08:09
2005.03.20
Убить поток


14-1109784234
lokid7
2005-03-02 20:23
2005.03.20
IP в локальной сети и доступ по нему к инету


3-1108660253
Urvin
2005-02-17 20:10
2005.03.20
Проблем с сервером