2015-07-04 4 views
1

Я хочу реализовать идеальный детектор столкновения пикселя между двумя или более QGraphicsItem. Класс QGraphicsItem предоставляет детектор столкновения с использованием объектов QPainterPath, поэтому теперь я хочу загрузить изображение из файла в QPainterPath только с непрозрачными пикселями (сделать точную форму непрозрачных пикселей), таким образом, я могу использовать QGraphicsItem ' собственный детектор столкновения для создания идеального детектора столкновений. Я хотел знать, есть ли способ сделать этот трюк?QGraphicsItem Pixel Perfect Collision Detector

ответ

1

Вы можете использовать QGraphicsPixmapItem при использовании изображений с альфа-каналом. Использовать

QGraphicsPixmapItem::shapeMode(QGraphicsPixmapitem::MaskShape) 

Это извлекает маску на основе альфа-канала для создания фигуры.