(这与 How would I load a PNG image using Win32/GDI (no GDI+ if possible)? 上的问题有关。)
大家好,
我想知道,鉴于您有一个 PNG 资源嵌入一个二进制文件中,ID 为 IDB_PNG1
,还有一个 LPDRAWITEMSTRUCT
要绘制(这意味着您有 HDC
和目标矩形),您如何将该图像绘制使用 StretchDIBits
的屏幕?我以前使用过 BitBlt
和 TransparentBlt
,但 StretchDIBits
的工作方式似乎不同,而且 LoadImage
似乎不适用于 PNG。
谢谢!
(注意:我使用的语言是 C++,但这不是太重要……C、C#、Visual Basic 等都可以;我只是想弄清楚步骤,而不是所需的确切代码。)
最佳答案
我认为位图中的 PNG 支持仅真正供打印机驱动程序使用。对于屏幕显示,您可能必须使用一些代码(例如 libpng )自己解压缩 PNG 数据。
关于c++ - 如何使用 LoadImage 和 StretchDIBits 绘制 PNG 图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4568057/