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 |
Verwandte Nicht-Mitglieder
| 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.