Png透明度在graphics32,Builder XE6中

时间:2017-08-26 12:08:54

标签: png c++builder graphics32

我想在C ++ Builder RAD Studio XE6中使用Png图像。我正在使用graphics32 lib,我设法安装运行时和设计时包。我可以将TImage32组件放在我的表单上,然后在TImage32中加载png图像,但是在透明度上,我在背景上得到白色。我只是不知道我该怎么办,才能在我的表格上获得透明的png图像。

我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

开箱即用的Graphics32不支持除Bitmap(BMP)之外的任何其他格式。为了使用PNG格式,必须使用额外的库,特别是当您想要保持完整的透明度信息时。

其中一个旨在与Graphics32携手合作的库是GR32PNG。但是,由于各种原因,该库不应在设计时使用。其中之一就是即使使用可用的设计时包,Graphics32也从未设计为支持除Bitmap(* .bmp)之外的任何其他格式。因此,需要重写Graphics32的部分内容以支持其他格式(到目前为止尚未完成)。

或者,应该可以使用XE6的内置支持来加载PNG文件。这也不是设计时间(出于同样的原因),有时它不能正确处理透明度。更不用说它之前将图像转换为TImage,这通常会在加载过程中将所需的内存量翻倍。