【问题标题】:Loading png image texture from char array or QByteArray with libpng [closed]使用 libpng 从 char 数组或 QByteArray 加载 png 图像纹理 [关闭]
【发布时间】:2012-12-29 06:32:34
【问题描述】:

我将图像数据作为 QByteArray。我想使用 libpng 从该数据中加载此图像的纹理。我到处都能看到从文件或输入流中读取图像纹理。但是如何从 QByteArray 加载图像?谢谢。

【问题讨论】:

  • bool loadFromData ( const QByteArray & data, const char * format = 0 ) 阅读文档,他们在那里阅读
  • 真正的问题是:如果您使用的是 Qt,为什么要尝试直接使用 libpng? Afaik,Qt 库自己处理 png(我相信使用 libpng)。
  • @user1095108 我在文档中没有看到任何类似的方法!感谢 styne666 的建议。我会试试的!

标签: c++ png libpng qbytearray


【解决方案1】:

我在herepng_read_from_mem (png_structp png_ptr, png_bytep data, png_size_t length)' method was exactly what I was looking for. It reads data which isunsigned char*`中找到了我想要的东西。

【讨论】:

  • 我没有从 png_get_io_ptr(png_ptr);由于地址无效,后续的 memcpy 失败。我们是否需要告诉它使用特定的 io_ptr 结构?
猜你喜欢
  • 2012-12-23
  • 1970-01-01
  • 2014-01-28
  • 1970-01-01
  • 2021-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-27
相关资源
最近更新 更多