Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
ВнизРисование иконки Найти похожие ветки
← →
MNNN (2008-01-26 11:19) [0]гружу иконку LoadIcon( получаю хэндл, есть желание найти его
память чтоб порисовать на ней, так как иконка частный вид битмана
← →
Leonid Troyanovsky © (2008-01-26 11:53) [1]
> MNNN (26.01.08 11:19)
От:Ignacio Alvarez (ic...@son1.telmex.net.mx)
Заголовок:Re: Help: Drawing on a TIcon
Группы новостей:borland.public.delphi.graphics
Число:1999/04/20
This is sort of the same code I posted before but packaged in an easy to use
function that accepts a TBitmap and returns a TIcon. It also uses StretchDraw,
so the bitmap doesn"t have to be exactly 32x32:
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;
Example of use:
procedure TForm1.FormCreate(Sender: TObject);
var
Bitmap: TBitmap;
TempIcon: TIcon;
begin
Bitmap:= TBitmap.Create;
Bitmap.LoadFromFile("c:\program files\borland\delphi
3\images\icons\chem16.bmp");
TempIcon:= BitmapToIcon(Bitmap);
Application.Icon:= TempIcon;
TempIcon.Free;
Bitmap.Free;
end;
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c