我需要从GraphicScene
布局上显示的图片中读取像素值。如何使用QImage
显示图像而不在Qt中使用像素图,以便能够读取像素值?
答案 0 :(得分:0)
在大多数平台上,QPixmap
是QImage
周围的薄包装。两者之间的转换很便宜-尤其是像素映射到图像的转换。因此,您可以使用QGraphicsPixmapItem
并使用item->pixmap().toImage()
,而不必担心。为了确认QPixmap
确实是包装器,将执行以下检查:
bool isPixmapThin(const QPixmap &pix) {
auto const a = pix.toImage();
auto const b = pix.toImage();
return a.bits() == b.bits();
}
在所有情况下,请确保您从像素图上获取的图像不会分离,即始终使其const
(如上面的代码示例所示)。