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

Fast Way to Use VIPS Image as a QImage

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

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

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

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

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

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

https://github.com/jcupitt/vipsdisp

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