Вниз
Скачать: CL | DM;

Как из битмапа сделать значок?   Найти похожие ветки 

 
TStas ©   (2009-03-13 22:30) [0]

Попытка Ico := TIcon.Create; Ico.Assign(bmp); приводит к гюку.


 
фыва   (2009-03-13 22:34) [1]

проверил. яндекс работает http://yandex.ru/yandsearch?text=bmp+%D0%B2+ico+delphi&stpar2=%2Fh0%2Ftm9%2Fs2&stpar4=%2Fs2


 
Тын-Дын ©   (2009-03-14 00:04) [2]


> фыва   (13.03.09 22:34) [1]
> проверил. яндекс работает


Возьми с полки пирожок.


 
Ega23 ©   (2009-03-16 09:59) [3]

Кто-то на этом форуме дал. Кто - не помню. Вроде из мастеров.


function BitmapToIcon(Bitmap: TBitmap): TIcon;
var
 IconSizeX, IconSizeY : integer;
 IconInfo: TIconInfo;
 IconBitmap, MaskBitmap: TBitmap;
 x, y: Integer;
 TransparentColor: TColor;
begin
 IconSizeX := GetSystemMetrics(SM_CXICON);
 IconSizeY := GetSystemMetrics(SM_CYICON);
 IconBitmap:= TBitmap.Create;
 IconBitmap.Width:= IconSizeX;
 IconBitmap.Height:= IconSizeY;
 IconBitmap.Canvas.StretchDraw(Rect(0, 0, IconSizeX, IconSizeY), Bitmap);
 IconBitmap.TransparentColor:= Bitmap.TransparentColor;
 TransparentColor:= IconBitmap.TransparentColor and $FFFFFF;
 MaskBitmap:= TBitmap.Create;
 MaskBitmap.Assign(IconBitmap);
 for y:= 0 to IconSizeY - 1 do
   for x:= 0 to IconSizeX - 1 do
     if IconBitmap.Canvas.Pixels[x, y] = TransparentColor then
       IconBitmap.Canvas.Pixels[x, y]:= clBlack;
 IconInfo.fIcon:= True;
 IconInfo.hbmMask:= MaskBitmap.MaskHandle;
 IconInfo.hbmColor:= IconBitmap.Handle;
 Result:= TIcon.Create;
 Result.Handle:= CreateIconIndirect(IconInfo);
 MaskBitmap.Free;
 IconBitmap.Free;
end;



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
15-1235654209
Кто б сомневался
2009-02-26 16:16
2009.04.26
Анабиоз. Сон разума.


15-1235387694
@!!ex
2009-02-23 14:14
2009.04.26
Как записать происходящее на рабочем столе во Flash.


10-1154672886
polyakov@asconm.ru
2006-08-04 10:28
2009.04.26
Проблема с использованием coFreeUnusedLibrary


15-1235652901
Максим
2009-02-26 15:55
2009.04.26
ADOConnection не видит базы созданные на SQL сервере


2-1236634530
Дмитрий Белькевич
2009-03-10 00:35
2009.04.26
Как правильнее закрывать приложение? App.Terminate или Close




   Наверх