请问如何将BMP图片转换为.lcon图标形式,也就是Delphi用的图标? 请问如何将BMP图片转换为.lcon图标形式,也就是Delphi用的图标? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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;-- 数据库备份问题? 关于ICON色深的问题 关于串口通信。 自定义控件的问题 高手快来啊,这么难的问题么?Access数据库,下面的sql语句为什么报错了? 请问高手,我的一个线程读取一个全局变量,当全局变量改变了,线程中的这个全局变量为什么没有改变?急!在线等待! adotable添加记录时的问题 ××××opendialog中多选,怎么得到多选的文件信息××××× 用delphi6.0怎么实现在窗口以外点击鼠标时,可以获取鼠标坐标? 安装dbgrideh 的问题。 ◆◆◆-[ 关于……反黄…… ]-◆◆◆ 求delphi7做的多文档编辑器!
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;
--