QGraphicsItem 像素完美碰撞检测器

QGraphicsItem Pixel Perfect Collision Detector

我想在两个或多个 QGraphicsItem 之间实现像素完美碰撞检测器。 QGraphicsItem class 提供了一个使用 QPainterPath 对象的碰撞检测器,所以现在我想将图像从文件加载到 QPainterPath 只有非透明像素(制作准确非透明像素的形状),这样我就可以使用 QGraphicsItem 自己的碰撞检测器来实现像素完美碰撞检测器。我想知道有没有办法做到这一点??

您可以在使用带有 alpha 通道的图像时使用 QGraphicsPixmapItem。使用

QGraphicsPixmapItem::shapeMode(QGraphicsPixmapitem::MaskShape)

这会根据用于创建形状的 alpha 通道提取蒙版。