Auf dieser Seite

QCanvasImagePattern Class

QCanvasImagePattern ist ein Pinsel zum Malen von Bildmustern. Mehr...

Kopfzeile: #include <QCanvasImagePattern>
CMake: find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)
target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter)
Seit: Qt 6.11
Erbt: QCanvasBrush
Status: Technische Vorschau

Öffentliche Funktionen

QCanvasImagePattern()
QCanvasImagePattern(const QCanvasImage &image)
QCanvasImagePattern(const QCanvasImage &image, const QRectF &rect, float angle = 0.0f, const QColor &tintColor = QColorConstants::White)
QCanvasImagePattern(const QCanvasImage &image, float x, float y, float width, float height, float angle = 0.0f, const QColor &tintColor = QColorConstants::White)
~QCanvasImagePattern()
QCanvasImage image() const
QSizeF imageSize() const
float rotation() const
void setImage(const QCanvasImage &image)
void setImageSize(float width, float height)
void setImageSize(QSizeF size)
void setRotation(float rotation)
void setStartPosition(float x, float y)
void setStartPosition(QPointF point)
void setTintColor(const QColor &color)
QPointF startPosition() const
QColor tintColor() const
operator QVariant() const
bool operator!=(const QCanvasImagePattern &lhs, const QCanvasImagePattern &rhs)
QDataStream &operator<<(QDataStream &stream, const QCanvasImagePattern &pattern)
bool operator==(const QCanvasImagePattern &lhs, const QCanvasImagePattern &rhs)
QDataStream &operator>>(QDataStream &stream, QCanvasImagePattern &pattern)

Detaillierte Beschreibung

QCanvasImagePattern ist ein Pinsel zum Malen von Bildmustern. Um QCanvasImage als Muster zu verwenden, sollten einige Wiederholungsflags wie QCanvasPainter::ImageFlag::Repeat aktiviert sein.

Hier ist ein einfaches Beispiel:

// Setup 2 image patterns
static QImage image1(":/pattern2.png");
static QImage image2(":/pattern3.png");
auto flags = QCanvasPainter::ImageFlag::Repeat |
             QCanvasPainter::ImageFlag::GenerateMipmaps;
QCanvasImage bg1 = painter.addImage(image1, flags);
QCanvasImage bg2 = painter.addImage(image2, flags);
QCanvasImagePattern ip1(bg1, 0, 0, 64, 64);
QCanvasImagePattern ip2(bg2, 0, 0, 32, 32);
// Fill and stroke round rectangle with
// these image pattern brushes.
painter.beginPath();
painter.roundRect(50, 50, 180, 180, 40);
painter.setFillStyle(ip1);
painter.setStrokeStyle(ip2);
painter.fill();
painter.setLineWidth(20);
painter.stroke();

Hinweis: Bei der Verwendung von Bildmustern werden Bilder oft kleiner skaliert und es kann nützlich sein, QCanvasPainter::ImageFlag::GenerateMipmaps für die verwendeten QCanvasImage zu setzen, um glatte Muster zu erhalten.

Dokumentation der Mitgliedsfunktionen

QCanvasImagePattern::QCanvasImagePattern()

Konstruiert ein Standard-Bildmuster. Das Bild wird nicht gesetzt, bitte verwenden Sie setImage() nach diesem Konstruktor. Die Startposition des Musters ist (0, 0) und die Größe des Musters (100, 100). Der Winkel des Musters ist 0,0 und die Farbe weiß (keine Tönung).

Siehe auch setImage().

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image)

Konstruiert ein Bildmuster. Das Muster wird image verwenden. Bitte beachten Sie, dass image normalerweise mindestens das Flag QCanvasPainter::ImageFlag::Repeat gesetzt haben sollte. Die Startposition des Musters ist (0, 0) und die Größe des Musters (100, 100). Der Winkel des Musters ist 0,0 und die Farbe weiß (keine Tönung).

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image, const QRectF &rect, float angle = 0.0f, const QColor &tintColor = QColorConstants::White)

Konstruiert ein Bildmuster. Das Muster wird image verwenden. Bitte beachten Sie, dass image normalerweise mindestens das Flag QCanvasPainter::ImageFlag::Repeat gesetzt haben sollte. Die Position und Größe des Musters wird mit rect definiert. Der Winkel des Musters ist angle und die Farbe des Farbtons ist tintColor.

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image, float x, float y, float width, float height, float angle = 0.0f, const QColor &tintColor = QColorConstants::White)

Konstruiert ein Bildmuster. Das Muster wird image verwenden. Bitte beachten Sie, dass image normalerweise mindestens das Flag QCanvasPainter::ImageFlag::Repeat gesetzt haben sollte. Die Startposition des Musters ist ( x, y) und die Größe des Musters ( width, height). Der Winkel des Musters ist angle und die Farbe des Farbtons ist tintColor.

[noexcept] QCanvasImagePattern::~QCanvasImagePattern()

Zerstört das Bildmuster.

QCanvasImage QCanvasImagePattern::image() const

Gibt das Bild des Musters zurück.

Siehe auch setImage().

QSizeF QCanvasImagePattern::imageSize() const

Gibt die Größe eines einzelnen Bildes in pattern zurück.

Siehe auch setImageSize().

float QCanvasImagePattern::rotation() const

Gibt die Musterrotation im Bogenmaß zurück.

Siehe auch setRotation().

void QCanvasImagePattern::setImage(const QCanvasImage &image)

Setzt das Bild des Musters auf image. Hinweis: Das Bild sollte normalerweise das Flag Repeat haben, wenn es in einem Bildmuster verwendet wird.

Siehe auch image().

void QCanvasImagePattern::setImageSize(float width, float height)

Setzt die Größe eines einzelnen Bildes in pattern auf ( width, height).

Siehe auch imageSize().

void QCanvasImagePattern::setImageSize(QSizeF size)

Setzt die Größe eines einzelnen Bildes in pattern auf size.

Dies ist eine überladene Funktion.

void QCanvasImagePattern::setRotation(float rotation)

Setzt die Musterrotation auf rotation im Bogenmaß. Die Drehung erfolgt um das Bild startPosition(). Der Standardwert ist 0.0, was bedeutet, dass das Bild nicht gedreht wird.

Siehe auch rotation().

void QCanvasImagePattern::setStartPosition(float x, float y)

Setzt den Startpunkt des Bildmusters auf (x, y). Die Startposition ist die linke obere Ecke eines Bildes im Muster. Das Muster wird dann von hier aus auf alle Positionen ausgedehnt (wenn das Flag Repeat gesetzt wurde).

Siehe auch startPosition().

void QCanvasImagePattern::setStartPosition(QPointF point)

Setzt den Startpunkt des Bildmusters auf point. Die Startposition ist die obere linke Ecke eines Bildes im Muster. Das Muster wird dann von hier aus auf alle Positionen ausgedehnt (wenn das Flag Repeat gesetzt wurde).

Dies ist eine überladene Funktion.

void QCanvasImagePattern::setTintColor(const QColor &color)

Setzt die Farbe des Musters auf color. Die Farbe des Musterbildes wird im Shader mit dieser Farbe multipliziert. Der Standardwert ist weiß, d. h. keine Tönung.

Hinweis: Um Alpha global zu setzen, verwenden Sie QCanvasPainter::setGlobalAlpha().

Siehe auch tintColor().

QPointF QCanvasImagePattern::startPosition() const

Gibt den Startpunkt des Bildmusters zurück.

Siehe auch setStartPosition().

QColor QCanvasImagePattern::tintColor() const

Liefert die Farbe der Mustertönung.

Siehe auch setTintColor().

QCanvasImagePattern::operator QVariant() const

Gibt das Bildmuster als QVariant zurück.

Verwandte Nicht-Mitglieder

[noexcept] bool operator!=(const QCanvasImagePattern &lhs, const QCanvasImagePattern &rhs)

Gibt true zurück, wenn sich das Bildmuster lhs von rhs unterscheidet; andernfalls false.

Siehe auch operator==().

QDataStream &operator<<(QDataStream &stream, const QCanvasImagePattern &pattern)

Schreibt die angegebene pattern in die angegebene stream und gibt eine Referenz auf die stream zurück.

Siehe auch Serialisierung von Qt-Datentypen.

[noexcept] bool operator==(const QCanvasImagePattern &lhs, const QCanvasImagePattern &rhs)

Gibt true zurück, wenn das Bildmuster lhs gleich rhs ist; andernfalls false.

Siehe auch operator!=().

QDataStream &operator>>(QDataStream &stream, QCanvasImagePattern &pattern)

Liest die angegebene pattern aus der angegebenen stream und gibt eine Referenz auf die stream zurück.

Siehe auch Serialisierung von Qt-Datentypen.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.