【问题标题】:Read a PNG Using Win32 / C++使用 Win32 / C++ 读取 PNG
【发布时间】:2010-11-26 08:47:47
【问题描述】:

在本机 Windows 中没有简单方法将 PNG 文件读入内存位图似乎是不可能的,但经过多次谷歌搜索后,我开始相信它。 libpng/zlib 组合太大了。有任何第三方库 Win32 库可以读取 PNG 吗?

编辑: boost::gil::png 解决方案也比我希望的要复杂得多。只需要一个调用来获取文件名并用像素填充内存缓冲区。

【问题讨论】:

  • 核心操作系统 API 不一定要内置支持读取和写入多种图像类型。这种东西有很多第三方库。
  • Ed,我不明白你的评论,因为我专门询问了第三方库。

标签: windows winapi png


【解决方案1】:

当然,您也可以使用 GDI+ - Bitmap 对象采用字符串构造函数并将指定的文件加载到内存中。这样你就不需要任何外部库,只需要 windows 自带的。

【讨论】:

  • 这就是我要找的,谢谢。我(错误地)认为 GDI+ 是 .NET 的一部分,并且 .NET 运行时并没有与 Windows XP 和 SP2 一起使用。这是个好消息。
  • 不,GDI+ 是核心 Windows 的一部分。
  • +1 我和 IJK 一样,认为 GDI+ 是 .NET,并且无法相信我错过了这样的基本知识。谢谢拉里!
【解决方案2】:

libgd 是一个出色的库,可以在 Windows 中使用,并且绑定了许多流行语言。

【讨论】:

    【解决方案3】:

    您可以使用一些内置的东西:IImgCtx,在更高版本的 Windows 上,您还可以使用 WIC

    【讨论】:

      【解决方案4】:

      我已经成功使用libpng 来做到这一点。

      【讨论】:

        猜你喜欢
        • 2016-05-09
        • 2022-01-02
        • 2016-09-07
        • 1970-01-01
        • 2012-05-26
        • 2011-04-06
        • 1970-01-01
        • 2016-02-10
        • 1970-01-01
        相关资源
        最近更新 更多