【问题标题】:Is there a way to achieve real transparency with ToolboxBitmap?有没有办法用 ToolboxBitmap 实现真正的透明度?
【发布时间】:2011-06-15 12:18:08
【问题描述】:

我正在使用 Paint.NET 为我的用户控件创建图标。我想要像 32 位 PNG 或 BMPX 提供的适当透明度。有没有办法做到这一点?查看工具箱,常规的Label 控件似乎使用了完全透明的图标(除非 MS 假定工具箱的背景始终为白色?)。

目前我将我的图标嵌入为编译为嵌入资源的位图,并使用ToolboxBitmapAttribute(Type, String) 构造函数。我尝试使用 ICO 或 PNG 或 BMPX,但这些都不起作用,它们甚至不会显示,而简单的 BMP 会显示(使用左下角像素颜色作为透明颜色)。

【问题讨论】:

  • 真正的透明度?不,但是如果您使用位图,伪造的透明度就可以了。汉斯解释了下面的所有细节。
  • 谢谢。遗憾的是,在过去的几个月里,我开始欣赏 PDN 的抗锯齿功能。

标签: c# visual-studio-2010 .net-4.0 user-controls toolbox


【解决方案1】:

内置的 Winforms 工具箱位图使用 Color.Fuchsia 作为背景颜色。作为 Bitmap.MakeTransparent() 颜色的一个非常标准的选择,它是一种很好的修饰颜色,不太可能导致图像的其余部分出现意外的透明度。这是从 System.Windows.Forms.dll 程序集中检索到的 Label 控件:

上传的时候变成了PNG,其实是BMP。

【讨论】:

  • 谢谢。我不知道如何从 System.Windows.Forms 中提取原始图像,否则我可能会先检查一下。我记得 VB6 时代的颜色,当时也用于相同的目的。
猜你喜欢
  • 2011-03-12
  • 2020-09-27
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 2019-07-07
  • 2013-10-02
相关资源
最近更新 更多