Класс QGraphicsPixmapItem
Класс QGraphicsPixmapItem предоставляет элемент пиксельной графики, который можно добавить в QGraphicsScene. Подробнее...
| Заголовок: | #include <QGraphicsPixmapItem> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QGraphicsItem |
Типы
| Перечисление | ShapeMode { MaskShape, BoundingRectShape, HeuristicMaskShape } |
| Перечисление | anonymous { Type } |
Открытые функции
| QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = nullptr) | |
| QGraphicsPixmapItem(QGraphicsItem *parent = nullptr) | |
| виртуальный | ~QGraphicsPixmapItem() |
| QPointF | offset() const |
| QPixmap | pixmap() const |
| void | setOffset(const QPointF &offset) |
| void | setOffset(qreal x, qreal y) |
| void | setPixmap(const QPixmap &pixmap) |
| void | setShapeMode(QGraphicsPixmapItem::ShapeMode mode) |
| void | setTransformationMode(Qt::TransformationMode mode) |
| QGraphicsPixmapItem::ShapeMode | shapeMode() const |
| Qt::TransformationMode | transformationMode() const |
Переопределённые открытые функции
| виртуальный QRectF | boundingRect() const override |
| виртуальный bool | contains(const QPointF &point) const override |
| виртуальный bool | isObscuredBy(const QGraphicsItem *item) const override |
| виртуальный QPainterPath | opaqueArea() const override |
| виртуальный void | paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override |
| виртуальный QPainterPath | shape() const override |
| виртуальный int | type() const override |
Подробное описание
Чтобы установить пиксельную графику элемента, передайте QPixmap в конструктор QGraphicsPixmapItem или вызовите функцию setPixmap(). Функция pixmap() возвращает текущую пиксельную графику.
QGraphicsPixmapItem использует необязательную альфа-маску пиксельной графики, чтобы обеспечить разумную реализацию boundingRect(), shape() и contains().
Растровый рисунок рисуется в координатах элемента (0, 0), возвращаемых методом offset(). Смещение рисования можно изменить, вызвав метод setOffset().
Режим преобразования растрового изображения можно установить, вызвав метод setTransformationMode(). По умолчанию используется Qt::FastTransformation, обеспечивающий быстрое, но негладкое масштабирование. Qt::SmoothTransformation включает QPainter::SmoothPixmapTransform в отрисовщике, а качество зависит от платформы и области просмотра. Результат, как правило, не так хорош, как непосредственный вызов QPixmap::scale(). Получить текущий режим преобразования элемента можно, вызвав transformationMode().
См. также QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem, QGraphicsTextItem, QGraphicsPolygonItem, QGraphicsLineItem и Графический фреймворк просмотра.
Документация по типам членов
enum QGraphicsPixmapItem::ShapeMode
Этот перечисление описывает, как QGraphicsPixmapItem вычисляет свою форму и непрозрачную область.
Значение по умолчанию — MaskShape.
| Константа | Значение | Описание |
|---|---|---|
QGraphicsPixmapItem::MaskShape |
0 |
Форма определяется путем вызова QPixmap::mask(). Эта форма включает только непрозрачные пиксели растрового изображения. Однако, поскольку форма более сложная, она может быть медленнее, чем другие режимы, и использует больше памяти. |
QGraphicsPixmapItem::BoundingRectShape |
1 |
Форма определяется путем прослеживания контура растрового изображения. Это самый быстрый режим формы, но он не учитывает прозрачные области на растровом изображении. |
QGraphicsPixmapItem::HeuristicMaskShape |
2 |
Форма определяется путем вызова QPixmap::createHeuristicMask(). Производительность и потребление памяти аналогичны MaskShape. |
enum QGraphicsPixmapItem::anonymous
Значение, возвращаемое виртуальной функцией type().
| Константа | Значение | Описание |
|---|---|---|
QGraphicsPixmapItem::Type |
7 |
Элемент графического растрового изображения |
Документация по функциям членов
QGraphicsPixmapItem::QGraphicsPixmapItem(const QPixmap &pixmap, QGraphicsItem *parent = nullptr)
Создает QGraphicsPixmapItem, используя pixmap в качестве изображения по умолчанию. parent передается конструктору QGraphicsItem.
См. также QGraphicsScene::addItem().
QGraphicsPixmapItem::QGraphicsPixmapItem(QGraphicsItem *parent = nullptr)
Создает QGraphicsPixmapItem. parent передается конструктору QGraphicsItem.
См. также QGraphicsScene::addItem().
[virtual] QGraphicsPixmapItem::~QGraphicsPixmapItem()
Уничтожает QGraphicsPixmapItem.
[override virtual] QRectF QGraphicsPixmapItem::boundingRect() const
Переопределяет: QGraphicsItem::boundingRect() const.
[override virtual] bool QGraphicsPixmapItem::contains(const QPointF &point) const
Переопределяет: QGraphicsItem::contains(const QPointF &point) const.
[override virtual] bool QGraphicsPixmapItem::isObscuredBy(const QGraphicsItem *item) const
Переопределяет: QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const.
QPointF QGraphicsPixmapItem::offset() const
Возвращает смещение элемента пиксельной карты, которое определяет точку верхнего левого угла пиксельной карты в локальных координатах.
См. также setOffset().
[override virtual] QPainterPath QGraphicsPixmapItem::opaqueArea() const
Переопределяет: QGraphicsItem::opaqueArea() const.
[override virtual] void QGraphicsPixmapItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
Переопределяет: QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget).
QPixmap QGraphicsPixmapItem::pixmap() const
Возвращает пиксельную карту элемента или недействительную QPixmap, если пиксельная карта не была установлена.
См. также setPixmap().
void QGraphicsPixmapItem::setOffset(const QPointF &offset)
Устанавливает смещение элемента пиксельной карты на offset. QGraphicsPixmapItem будет отрисовывать свою пиксельную карту, используя offset для верхнего левого угла.
См. также offset().
void QGraphicsPixmapItem::setOffset(qreal x, qreal y)
Эта вспомогательная функция эквивалентна вызову setOffset(QPointF(x, y)).
void QGraphicsPixmapItem::setPixmap(const QPixmap &pixmap)
Устанавливает пиксельную карту элемента на pixmap.
См. также pixmap().
void QGraphicsPixmapItem::setShapeMode(QGraphicsPixmapItem::ShapeMode mode)
Устанавливает режим формы элемента на mode. Режим формы описывает, как QGraphicsPixmapItem вычисляет свою форму. По умолчанию используется режим MaskShape.
См. также shapeMode() и ShapeMode.
void QGraphicsPixmapItem::setTransformationMode(Qt::TransformationMode mode)
Устанавливает режим преобразования элемента пиксельной карты на mode и запускает обновление элемента. По умолчанию используется режим Qt::FastTransformation, который обеспечивает быстрое преобразование без сглаживания.
Qt::SmoothTransformation включает QPainter::SmoothPixmapTransform в рисовальщике, и качество зависит от платформы и области просмотра. Результат обычно не такой хороший, как вызов QPixmap::scale() непосредственно.
См. также transformationMode().
[override virtual] QPainterPath QGraphicsPixmapItem::shape() const
Переопределяет: QGraphicsItem::shape() const.
QGraphicsPixmapItem::ShapeMode QGraphicsPixmapItem::shapeMode() const
Возвращает режим формы элемента. Режим формы описывает, как QGraphicsPixmapItem вычисляет свою форму. По умолчанию используется режим MaskShape.
См. также setShapeMode() и ShapeMode.
Qt::TransformationMode QGraphicsPixmapItem::transformationMode() const
Возвращает режим преобразования пиксельной карты. По умолчанию используется режим Qt::FastTransformation, который обеспечивает быстрое преобразование без сглаживания.
См. также setTransformationMode().
[override virtual] int QGraphicsPixmapItem::type() const
Переопределяет: QGraphicsItem::type() const.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qgraphicspixmapitem.html