Delphi 7位图。 SaveToFile和透明

时间:2011-04-20 14:22:35

标签: delphi icons transparency

我想将一个ico从db保存到文件,但我有透明度问题。 当我将其保存到c:\ 1.ico时,结果文件没有透明度。

procedure DBIconsToFIle;
var
  Streams: TStream;
  fIcon : TBitmap;
begin
  //load stream from db
  FIcon.LoadFromStream(Streams);
  FIcon := TBitmap.Create;
  FIcon.TransparentColor := clWhite;
  FIcon.PixelFormat := pf32bit;
  FIcon.Height := 16;
  FIcon.Width := 16;
  FIcon.SaveToFile(tmpFile);
  //destroys
end;

如何以透明度保存?

1 个答案:

答案 0 :(得分:3)

图标的文件扩展名是.ico,而不是.icon。另外,如果要保存图标,为什么不使用TIcon而不是TBitmap?为什么世界上你首先使用LoadFromStream而第二次使用TBitmap.Create?!

稍微更正常的代码

var
  Icon: TIcon;
begin
  Icon := TIcon.Create;
  try
    Icon.LoadFromStream(SomeStream);
    Icon.SaveToFile(SomeFileName);
  finally
    Icon.Free;
  end;

为你工作?