Я использую CImg в сочетании с libpng в Visual Studio 2010 для отображения изображений PNG. Когда я показываю изображение с помощью CImg, кажется, что оно неправильно отображает прозрачность. Я не подаю в суд, если я не полностью понимаю концепции CImg, совершаю ошибку или их комбинацию!
Изображение слева показывает изображение, открытое в программе просмотра фотографий Windows, с прозрачным фоном, как и ожидалось. Изображение справа показывает дисплей CImg, который фактически отображает чисто белый фон с некоторыми странными коричневыми областями, окружающими символ.
CImg загружает png с 4-м альфа-каналом (как показано в заголовке окна правого изображения). При наведении указателя мыши на области на дисплее CImg он показывает правильные значения прозрачности в небольшом всплывающем окне (нижний левый угол правого изображения). CImg, кажется, рисует все, независимо от значения прозрачности?
У меня вопрос, как мне заставить Cimg правильно отображать pgn с прозрачными разделами?
Мой код для этого примера выглядит следующим образом:
#define cimg_use_png
#include <CImg.h>
using namespace cimg_library;
int main()
{
CImg<unsigned char> image("image.png");
image.display();
return 0;
}