Auf dieser Seite

QCanvasImagePattern Class

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

Überschrift: #include <QCanvasImagePattern>
CMake: find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)
target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter)
Seit: Qt 6.11

Öffentliche Funktionen

QCanvasImagePattern(const QCanvasImage &image)
QCanvasImagePattern(const QCanvasImage &image, QPointF startPosition, QSizeF imageSize)
QCanvasImagePattern(const QCanvasImage &image, qreal startX, qreal startY, qreal imageWidth, qreal imageHeight)
QCanvasImagePattern(const QCanvasImagePattern &)
QCanvasImagePattern(QCanvasImagePattern &&)
QCanvasImage image() const
QSizeF imageSize() const
qreal rotation() const
void setImage(const QCanvasImage &image)
void setImageSize(qreal width, qreal height)
void setImageSize(QSizeF size)
void setRotation(qreal rotation)
void setStartPosition(qreal x, qreal y)
void setStartPosition(QPointF point)
void setTintColor(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)

Ausführliche Beschreibung

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

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();

Abgerundetes Quadrat, gefliest mit einem Muster aus konzentrischen Kreisen und einer grünen Bordüre mit diagonalen Streifen

Hinweis: Bei der Verwendung von Bildmustern werden Bilder oft verkleinert, und es kann sinnvoll sein, „ QCanvasPainter::ImageFlag::GenerateMipmaps “ für die verwendeten „ QCanvasImage “ so einzustellen, dass glatte Muster entstehen.

Dokumentation der Mitgliedsfunktionen

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image)

Erstellt ein Bildmuster. Für das Muster wird „ image “ verwendet. Bitte beachten Sie, dass bei „ image “ in der Regel mindestens das Flag „ QCanvasPainter::ImageFlag::Repeat “ gesetzt sein sollte. Die Startposition des Musters ist (0, 0) und die Mustergröße beträgt (100, 100). Der Musterwinkel beträgt 0,0 und die Farbnuance ist weiß (keine Farbnuance).

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image, QPointF startPosition, QSizeF imageSize)

Erstellt ein Bildmuster unter Verwendung von image, beginnend bei startPosition und mit dem Bild, das unter imageSize gezeichnet wird. Bitte beachten Sie, dass für image in der Regel mindestens das Flag QCanvasPainter::ImageFlag::Repeat gesetzt sein sollte.

Siehe auch setStartPosition() und setImageSize().

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image, qreal startX, qreal startY, qreal imageWidth, qreal imageHeight)

Erstellt ein Bildmuster unter Verwendung von image, beginnend bei startX, startY, wobei das Bild bei imageWidth, imageHeight gezeichnet wird. Bitte beachten Sie, dass bei image in der Regel mindestens das Flag QCanvasPainter::ImageFlag::Repeat gesetzt sein sollte.

Siehe auch setRotation() und setTintColor().

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImagePattern &)

Löscht das Bildmuster.

[constexpr noexcept default] QCanvasImagePattern::QCanvasImagePattern(QCanvasImagePattern &&)

Erzeugt eine Instanz von „ QCanvasImagePattern “.

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 im Muster zurück.

Siehe auch ` setImageSize()`.

qreal QCanvasImagePattern::rotation() const

Gibt die Drehung des Musters in Radianten zurück.

Siehe auch ` setRotation()`.

void QCanvasImagePattern::setImage(const QCanvasImage &image)

Setzt das Bild des Musters auf image. Hinweis: Bei der Verwendung in einem Bildmuster sollte für das Bild in der Regel das Flag Repeat gesetzt sein.

Siehe auch image().

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

Legt die Größe eines einzelnen Bildes im Muster auf ( width, height) fest.

Siehe auch imageSize().

void QCanvasImagePattern::setImageSize(QSizeF size)

Legt die Größe eines einzelnen Bildes im Muster auf „ size “ fest.

Dies ist eine überladene Funktion.

void QCanvasImagePattern::setRotation(qreal rotation)

Legt die Drehung des Musters auf „ rotation “ in Radianten fest. Die Drehung erfolgt um den Bild startPosition(). Der Standardwert ist „ 0.0 “, was bedeutet, dass das Bild nicht gedreht wird.

Siehe auch ` rotation()`.

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

Legt den Startpunkt des Bildmusters auf (x, y) fest. Die Startposition bezeichnet die obere linke Ecke eines Bildes im Muster. Das Muster wird dann von dieser Position aus auf alle Positionen erweitert (sofern das Flag „image Repeat “ gesetzt ist).

Siehe auch startPosition().

void QCanvasImagePattern::setStartPosition(QPointF point)

Legt den Startpunkt des Bildmusters auf „ point “ fest. Die Startposition entspricht der oberen linken Ecke eines Bildes im Muster. Das Muster wird dann von dieser Position aus auf alle Positionen erweitert (sofern das Flag „image Repeat “ gesetzt ist).

Dies ist eine überladene Funktion.

void QCanvasImagePattern::setTintColor(QColor color)

Setzt die Tönungsfarbe des Musters auf color. Die Farbe des Musterbildes wird im Shader mit dieser Tönungsfarbe multipliziert. Der Standardwert ist Weiß, was bedeutet, dass keine Tönung erfolgt.

Hinweis: Um die Alpha-Transparenz global festzulegen, 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

Gibt die Farbnuance des Musters zurück.

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 vonQt-Datentypen“.

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

Gibt „ true “ zurück, wenn das Bildmuster „ lhs “ mit „ rhs “ übereinstimmt; andernfalls „ false “.

Siehe auch operator!=().

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

Liest den angegebenen „ pattern “ aus dem angegebenen „ stream “ und gibt eine Referenz auf den „ stream “ zurück.

Siehe auch „Serialisierung vonQt-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.