Прозрачный файл PNG в приложении Pure C ++ / Win32 - PullRequest
5 голосов
/ 15 ноября 2010

У меня есть чистое C ++ / Win32 VS2005 настольное приложение. Во время ответа WM_PAINT, когда я рисую свое окно, я хотел бы иметь возможность проецировать прозрачное изображение PNG на мое окно.

любой указатель будет оценен.

Ответы [ 2 ]

3 голосов
/ 15 ноября 2010

GdiPlus входит в состав Windows начиная с Windows XP по крайней мере и может легко декодировать файлы JPEG, PNG и GIF.

Более новым API для работы с файлами изображений является Компонент образа Windows .Один из образцов охватывает использование WIC для декодирования изображения и GdiPlus для выполнения рисования с поддержкой альфа.

2 голосов
/ 15 ноября 2010

Компонент Windows Imaging Component (WIC) является основным API для собственного кода, который предоставляет возможность кодировать и декодировать различные форматы изображений. Вы можете использовать его для загрузки изображения PNG в ваше приложение.

http://msdn.microsoft.com/library/ee719902

В качестве альтернативы вы можете использовать GDI +, но это довольно старая технология, которая работает не так хорошо. Вы также можете использовать GDI + для рендеринга изображения, но я предлагаю Direct2D.

Direct2D способен отображать растровое изображение WIC непосредственно на графическом процессоре или в программном обеспечении через контекст окна или устройства растрового изображения.

Вот вступительная статья о Direct2D:

http://msdn.microsoft.com/en-ca/magazine/dd861344.aspx

А этот описывает, как использовать Direct2D с WIC:

http://msdn.microsoft.com/en-us/magazine/ee819134.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...