问题 如何在Delphi中的BitBtn上放置GIF / PNG / ...图像?


我正在使用Delphi 2007.如何在BitBtn组件上放置GIF / PNG图像? (最好支持alpha透明度)


10042
2017-10-26 22:47


起源



答案:


PngComponents pack有一个名为PngBitBtn的组件,它可以正确显示带有alpha透明度的PNG。它们有些陈旧,但它们可以安装在Delphi 2007下,只需要一点点工作。


6
2017-10-27 05:15



PngComponents仍然可以从中下载 这里有Wayback Machine。 - DaveBoltman


答案:


PngComponents pack有一个名为PngBitBtn的组件,它可以正确显示带有alpha透明度的PNG。它们有些陈旧,但它们可以安装在Delphi 2007下,只需要一点点工作。


6
2017-10-27 05:15



PngComponents仍然可以从中下载 这里有Wayback Machine。 - DaveBoltman


使用像Photoshop这样的图形程序(或更便宜的东西)将图像转换为位图。 BitBtns不接受GIF或PNG图像。


3
2017-10-26 22:49



但随后透明度成为一个问题。 - delphist
从记忆中,Delphi有一个小技巧,它认为其中一个角像素(左上角?左下角?)是“透明”颜色。如果您将该像素保留为您想要透明的颜色,它应该可以工作,即使对于BMP也是如此。 - Matt Hamilton
它是左下角的像素,但它只是颜色键透明度。如果你想要alpha混合透明度,你需要在Delphi 2009中使用PNG。 - Tim Knipe
对于转换,您可以使用Paint.NET或IrfanView。两者都是免费的。 - gabr
很奇怪 - 我看到很多关于alpha透明度的回复,但我没有从他的问题中得到这个。他也提到了GIF - GIF有alpha通道吗?我不记得了。 - Matt Hamilton


Delphi 2009仅支持PNG支持。有一个名为的免费软件包(许可为MPL 1.1) GraphicEx 这将允许您在设计时/运行时加载图像,但您不会在Delphi 2007中的按钮上获得alpha混合透明度。


2
2017-10-27 00:44





包含在Delphi 2009k中的PNGimage应该可以完成这项工作。如果我们能找到它。


0
2018-03-21 10:11