使用QImage显示图像而不在Qt中使用像素图?

时间:2018-07-25 11:02:08

标签: qt qt-creator

我需要从GraphicScene布局上显示的图片中读取像素值。如何使用QImage显示图像而不在Qt中使用像素图,以便能够读取像素值?

1 个答案:

答案 0 :(得分:0)

在大多数平台上,QPixmapQImage周围的薄包装。两者之间的转换很便宜-尤其是像素映射到图像的转换。因此,您可以使用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(如上面的代码示例所示)。