我正在使用CImg和libpng在Visual Studio 2010中显示png图像。
当我使用CImg显示图像时,它似乎不能正确地显示透明度。
我不确定这是我没有完全掌握CImg的概念,还是我犯了一个错误,或者两者都有!
左边的图像显示了在Windows照片查看器中打开的图像 - 背景透明如预期。
右边的图像显示了实际显示纯白背景并带有一些奇怪的棕色区域环绕字符的CImg显示。
CImg使用第4个alpha通道加载png(如右侧图像窗口标题所示)。在鼠标悬停在CImg显示中的区域时,它会在小弹出窗口中显示正确的透明度值(右侧图像底部左侧)。CImg似乎绘制了所有内容,而不管透明度的值是多少?
我的问题是,如何使Cimg正确显示具有透明部分的png?
此示例的代码如下:
#define cimg_use_png
#include <CImg.h>
using namespace cimg_library;
int main()
{
CImg<unsigned char> image("image.png");
image.display();
return 0;
}