Текущий архив: 2002.11.28;
Скачать: CL | DM;
Вниз
BMP -> ICO Найти похожие ветки
← →
PaRL © (2002-11-17 21:26) [0]Как. Чтобы Delphi принять могла.
← →
Феу © (2002-11-17 21:39) [1]RTFM!!!
FAQ>>Графика>>Общие вопросы
или вот еще
procedure BmpToIcon(Icon : TIcon; Bitmap : TBitmap);
var
IconSizeX : integer;
IconSizeY : integer;
AndMask : TBitmap;
XOrMask : TBitmap;
IconInfo : TIconInfo;
begin
//Get the icon size
IconSizeX := GetSystemMetrics(SM_CXICON);
IconSizeY := GetSystemMetrics(SM_CYICON);
//Create the "And" mask
AndMask := TBitmap.Create;
AndMask.Width := IconSizeX;
AndMask.Height := IconSizeY;
//Copy Bitmap to AndMask and make a mask
AndMask.Canvas.Draw(0, 0, Bitmap);
AndMask.Mask(clSilver);
//Create the "XOr" mask
XOrMask := TBitmap.Create;
XOrMask.Width := IconSizeX;
XOrMask.Height := IconSizeY;
//Copy Bitmap to XorMask
XOrMask.Canvas.Draw(0, 0, Bitmap);
//Invert AndMask
AndMask.Canvas.CopyMode:=cmDstInvert;
AndMask.Canvas.Draw(0, 0, XOrMask);
//Fill silver on XorMask with Black
XOrMask.Canvas.CopyMode:= cmSrcAnd;
XOrMask.Canvas.Draw(0, 0, AndMask);
//restore mask
AndMask.Canvas.CopyMode:=cmDstInvert;
AndMask.Canvas.Draw(0, 0, XOrMask);
IconInfo.fIcon := true;
IconInfo.xHotspot := 0;
IconInfo.yHotspot := 0;
IconInfo.hbmMask := AndMask.Handle;
IconInfo.hbmColor := XOrMask.Handle;
Icon.Handle := CreateIconIndirect(IconInfo);
AndMask.Free;
XOrMask.Free;
end;
← →
PaRL © (2002-11-17 21:43) [2]Ну вот тока к мануалам меня отправляь не надо...
Спасибо.
Страницы: 1 вся ветка
Текущий архив: 2002.11.28;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.015 c