bmp 2 icon觉对好用.txt

来自「自己对DELPHI学习的一点体会」· 文本 代码 · 共 32 行

TXT
32
字号
procedure BmpToIco(ABmp,AIco:string);
var
  bmp,mbmp:tbitmap;
  ico:ticon;
  rbmp:BITMAP;
  a:array[0..4096] of byte;
  len:dword;
  i:integer;
  imglist:timagelist;
begin
  bmp:=tbitmap.Create;
  mbmp:=tbitmap.Create;
  mbmp.Assign(bmp);
  ico:=ticon.Create;
  imglist:=TImageList.CreateSize(32,32);
  try
    bmp.LoadFromFile(abmp);
    len:=GetBitmapBits(bmp.Handle,4096,@a);
    mbmp.Handle:=CreateBitmapIndirect(rbmp);
    for i:=0 to len do
      a[i]:=a[i] and a[i];
    SetBitmapBits(bmp.Handle,len,@a);
    imglist.add(bmp,mbmp);
    imglist.GetIcon(0,ico);

  finally
    bmp.Free;
    ico.Free;
    imglist.Free;
  end;
end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?