【发布时间】:2010-09-19 04:14:10
【问题描述】:
我正在使用 Visual Studio 图标库 (VS2008ImageLibrary),有一些带有粉红色背景的 BMP 文件。我怎样才能让粉红色的背景变得透明?我可以使用什么软件来做到这一点?有免费的吗?
谢谢
【问题讨论】:
标签: image image-manipulation icons
我正在使用 Visual Studio 图标库 (VS2008ImageLibrary),有一些带有粉红色背景的 BMP 文件。我怎样才能让粉红色的背景变得透明?我可以使用什么软件来做到这一点?有免费的吗?
谢谢
【问题讨论】:
标签: image image-manipulation icons
我使用了 IrfanView 的批量转换工具。这仍然是一些工作,因为您必须单击每个图标上的粉红色区域,而不是仅仅将粉红色指定为透明颜色,但它确实有效。不过,使用 GDI+ 编写一个简单的转换工具会很容易,我也考虑过。
请注意,即使您可以将它们用作透明图像,但不幸的是,当您在深色背景上渲染它们或将它们用作叠加层时,它们中的许多仍然有丑陋的边缘。如果您只想要其中的很少一部分,如果您认为您不会始终拥有明亮的背景,请考虑单独调整它们。
【讨论】:
您可以try it online,前提是您可以先将 bmp 转换为 gif。
或者您可以获取PAINT.Net(免费软件),并按照此video instructions 应用透明背景。
【讨论】:
您可以使用 ImageMagick 转换:
convert input.png -transparent magenta output.png
顺便说一句,它不是粉红色,而是洋红色。
【讨论】:
虽然我不知道现代 .NET 对您问题的回答,但值得注意的是这些具有洋红色背景的位图的历史原因:
在只有 Win32 的日子里,有一些通用控件(如工具栏和 ListView)将这些位图和一种颜色视为透明,然后将该颜色呈现为透明。我想,在幕后,他们使用了像TransparentBtl 这样的函数。
【讨论】:
我知道这与 Form.TransparencyKey 有关 但我不知道那个粉红色到底是什么,你必须知道确切的 RGB/系统或 Web 颜色。
如果你知道请分享我们
【讨论】: