Delphi TBitMap 从 ImageList 到按钮的透明度

发布于 2025-01-09 15:25:32 字数 441 浏览 1 评论 0原文

我正在尝试在代码下方创建一个带有透明位图图像的自定义图标按钮。 图标存储在连接到 ActionList 的 ImageList 中。

bitmap := TBitmap.Create;
BmpObj := TMemoryStream.Create;
try
  ImageList.GetBitmap(ActionList.Actions[i].ImageIndex, bitmap);

  bitmap.Transparent := TRUE;
  bitmap.TransparentColor := clWhite;
  bitmap.Canvas.Brush.Color := clWhite;

  bitmap.SaveToStream(BmpObj);
finally
  BmpObj.Free;
  bitmap.Free;
end;

我不知道我错过了什么..有人对这个问题有想法吗?

I am trying to create a custom icon button with a transparent bitmap image, below the code.
The icon is stored in an ImageList connected to an ActionList.

bitmap := TBitmap.Create;
BmpObj := TMemoryStream.Create;
try
  ImageList.GetBitmap(ActionList.Actions[i].ImageIndex, bitmap);

  bitmap.Transparent := TRUE;
  bitmap.TransparentColor := clWhite;
  bitmap.Canvas.Brush.Color := clWhite;

  bitmap.SaveToStream(BmpObj);
finally
  BmpObj.Free;
  bitmap.Free;
end;

I don't know what I am missing.. Anyone has an idea about this problem?

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

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

发布评论

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

评论(1

始于初秋 2025-01-16 15:25:32

由于对我所询问的组件没有更好的了解,我展示了在许多 Windows 控件上拥有透明图像的基本方法。

获取一个 TImageList 并用您要使用的图像填充它。左下像素决定透明颜色。在我的示例中,黑色数字放置在白色背景上。

在按钮上,将属性 Images 设置为您的 ImageList 并将 ImageIndex 设置为有效的图像编号 (0 .. )。图像将出现在按钮上,白色区域透明。

在下图中,我在位图中包含了一个 TImage,以便您可以看到实际的颜色。

请注意,不需要代码。

输入图片此处描述

Without better knowledge about the components I asked about, I show the basic way of having transparent image on many Windows controls.

Take a TImageList and fill it with the images you want to use. The lower left pixel determines the transparent color. In my example black numbers are placed on white background.

On the button, set property Images to your ImageList and ImageIndex to a valid image number (0 .. ). The image will appear on the button, with the white colored areas transparent.

In the image below, I include a TImage with the bitmap so you can see the actual colors.

Note no code required.

enter image description here

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