Sur cette page

QCanvasImagePattern Class

QCanvasImagePattern est une brosse pour peindre des motifs d'image. Plus d'informations...

En-tête : #include <QCanvasImagePattern>
CMake : find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)
target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter)
Depuis : Qt 6.11
Hérite : QCanvasBrush
Statut : Technical Preview

Fonctions publiques

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)

Description détaillée

QCanvasImagePattern est un pinceau pour peindre des motifs d'image. Pour utiliser QCanvasImage comme motif, il faut que certains drapeaux de répétition soient activés comme QCanvasPainter::ImageFlag::Repeat.

Voici un exemple simple :

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

Note : Lors de l'utilisation de motifs d'images, les images sont souvent réduites et il peut être utile d'activer QCanvasPainter::ImageFlag::GenerateMipmaps pour l'image utilisée QCanvasImage afin d'obtenir des motifs lisses.

Documentation des fonctions membres

QCanvasImagePattern::QCanvasImagePattern()

Construit un modèle d'image par défaut. L'image ne sera pas définie, veuillez utiliser setImage() après ce constructeur. La position de départ du motif est (0, 0) et la taille du motif (100, 100). L'angle du motif est de 0,0 et la couleur de teinte est blanche (pas de teinte).

Voir aussi setImage().

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image)

Construit un modèle d'image. Le motif utilisera image. Veuillez noter que image doit normalement avoir au moins le drapeau QCanvasPainter::ImageFlag::Repeat activé. La position de départ du motif est (0, 0) et la taille du motif (100, 100). L'angle du motif est de 0,0 et la couleur de teinte est blanche (pas de teinte).

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

Construit un modèle d'image. Le motif utilisera image. Veuillez noter que image doit généralement avoir au moins le drapeau QCanvasPainter::ImageFlag::Repeat activé. La position et la taille de l'image du motif sont définies par rect. L'angle du motif est angle et la couleur de la teinte est tintColor.

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

Construit un modèle d'image. Le motif utilisera image. Veuillez noter que image doit normalement avoir au moins le drapeau QCanvasPainter::ImageFlag::Repeat activé. La position de départ de l'image du motif est ( x, y) et la taille du motif ( width, height). L'angle du motif est angle et la couleur de la teinte est tintColor.

[noexcept] QCanvasImagePattern::~QCanvasImagePattern()

Détruit le modèle d'image.

QCanvasImage QCanvasImagePattern::image() const

Renvoie l'image du motif.

Voir également setImage().

QSizeF QCanvasImagePattern::imageSize() const

Renvoie la taille d'une seule image dans le modèle.

Voir aussi setImageSize().

float QCanvasImagePattern::rotation() const

Renvoie la rotation du modèle en radians.

Voir également setRotation().

void QCanvasImagePattern::setImage(const QCanvasImage &image)

Définit l'image du motif à image. Note : L'image doit généralement avoir l'indicateur Repeat lorsqu'elle est utilisée dans un motif d'image.

Voir aussi image().

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

Définit la taille d'une image unique dans le motif ( width, height).

Voir également imageSize().

void QCanvasImagePattern::setImageSize(QSizeF size)

Fixe la taille d'une image unique dans le motif à size.

Il s'agit d'une fonction surchargée.

void QCanvasImagePattern::setRotation(float rotation)

Définit la rotation du motif à rotation en radians. La rotation se fait autour de l'image startPosition(). La valeur par défaut est 0.0, ce qui signifie que l'image n'est pas tournée.

Voir également rotation().

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

Définit le point de départ du motif de l'image sur (x, y). La position de départ correspond au coin supérieur gauche d'une image dans le motif. Le motif sera ensuite étendu à toutes les positions à partir de cette position (si le drapeau de l'image Repeat a été activé).

Voir également startPosition().

void QCanvasImagePattern::setStartPosition(QPointF point)

Définit le point de départ du motif d'image à point. La position de départ correspond au coin supérieur gauche d'une image dans le motif. Le motif sera ensuite étendu à toutes les positions à partir de cette position (si le drapeau de l'image Repeat a été activé).

Il s'agit d'une fonction surchargée.

void QCanvasImagePattern::setTintColor(const QColor &color)

Définit la couleur de teinte du motif à color. La couleur de l'image du motif sera multipliée par cette couleur de teinte dans le nuanceur. La valeur par défaut est le blanc, ce qui signifie qu'il n'y a pas de teinte.

Remarque : pour définir l'alpha globalement, utilisez QCanvasPainter::setGlobalAlpha()

Voir également tintColor().

QPointF QCanvasImagePattern::startPosition() const

Renvoie le point de départ du motif de l'image.

Voir également setStartPosition().

QColor QCanvasImagePattern::tintColor() const

Renvoie la couleur de la teinte du motif.

Voir aussi setTintColor().

QCanvasImagePattern::operator QVariant() const

Renvoie le motif de l'image sous forme de QVariant.

Non-membres apparentés

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

Renvoie true si le motif de l'image lhs est différent de rhs; false dans le cas contraire.

Voir aussi operator==().

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

Écrit la donnée pattern dans la donnée stream et renvoie une référence à stream.

Voir aussi Serializing Qt Data Types (Sérialisation des types de données Qt).

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

Renvoie true si le motif d'image lhs est égal à rhs; false sinon.

Voir aussi operator!=().

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

Lit la donnée pattern à partir de la donnée stream et renvoie une référence à la donnée stream.

Voir aussi Serializing Qt Data Types (Sérialisation des types de données Qt).

© 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.