Delphi 7 位图。保存到文件和透明

发布于 2024-11-02 05:56:09 字数 428 浏览 1 评论 0原文

我想将 ico 从数据库保存到文件,但我有透明度问题。 当我将其保存到 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;

我怎样才能透明地保存它?

I want to save an ico from db to file, but I have a problem with transparency.
When I save it to c:\1.ico, the result file does have no transparency.

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;

How I can save it with transparency?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

伊面 2024-11-09 05:56:09

图标的文件扩展名是 .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;

对您有用吗?

The filename extension for icons is .ico, not .icon. Also, why don't you use TIcon instead of TBitmap if you want to save an icon? And why in the world do you use LoadFromStream first and TBitmap.Create second?!

Does the slightly more normal code

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

work for you?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文