Главная страница
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.031 c
9-1103974003
Nic87
2004-12-25 14:26
2005.03.20
Конвертатор 3ds -> gms


14-1109911949
TUser
2005-03-04 07:52
2005.03.20
Где живет зверек?


4-1107489071
guest_Dmitry
2005-02-04 06:51
2005.03.20
Открытие/закрытие приложения, ...


3-1108749618
Urvin
2005-02-18 21:00
2005.03.20
Поймать отключение сервера


1-1110230253
Ермак
2005-03-08 00:17
2005.03.20
Отловить перемещение окна