c++ - 将 VIPS 图像用作 QImage 的快速方法

标签 c++ qt vips

我需要在 Qt 中处理平铺图像。在两个对象之间进行转换或以其他方式在 QImage 方法中使用 VIPS Image 的快速方法是什么?一种解决方案是将 VIPS 图像保存为 TIFF 文件或 Qt 中的任何其他图像格式,然后将文件加载为 QImages。我必须即时对 20 多个图 block 执行此操作,因此我不保存图像,因为文件的处理速度足够快。

最佳答案

这是一个很小的(300 行)示例程序:

https://github.com/jcupitt/vipsdisp-tiny

在窗口中显示 libvips 管道的结果。它使用 gtk+ 和 Cairo,但适应 QImage 应该很简单。

这很有趣,因为它是异步的。 libvips 管道将在一组后台线程中运行,并且将在计算时绘制图 block 。它可以显示巨大的图像和复杂的计算,并且界面将保持响应。

这是同样的东西,但作为一个稍微更完整的图像查看器:

https://github.com/jcupitt/vipsdisp

缩放等等。同样,它使用的是 gtk3,但这些想法应该很容易转移到 Qt。它仍然需要一些工作,我必须找到一些时间。

关于c++ - 将 VIPS 图像用作 QImage 的快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45738169/

相关文章:

c++ - 在这种情况下如何正确使用std forward

c++ - Qt:如何判断一个widget在QScrollArea中是否可见?

java - 如何强制 Java/awt 使用特定的工具包 (qt)?

python - RLE8图像支持/用Pillow解压(PIL fork)

c++ - nullptr和 bool 值之间的比较

c++ - QPen setCosmetic 在高 QGraphicsView 比例下不起作用

qt - PhantomJS 中是否存在所有错误代码的列表?

c++ - 我的简单 QTableView 代码崩溃了

imagick - Vips + mozjpeg 与 Imagick