Sur cette page

QCanvasImagePattern Class

QCanvasImagePattern est un pinceau permettant de peindre des motifs d'image. En savoir plus...

En-tête : #include <QCanvasImagePattern>
CMake : find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)
target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter)
Depuis : Qt 6.11

Fonctions publiques

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)

Description détaillée

QCanvasImagePattern est un pinceau permettant de dessiner des motifs à partir d’images. Pour utiliser QCanvasImage comme motif, certains indicateurs de répétition doivent être 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();

Carreau carré aux angles arrondis, orné d'un motif de cercles concentriques et d'une bordure à rayures diagonales vertes

Remarque : lors de l'utilisation de motifs d'image, les images sont souvent redimensionnées à une taille plus petite ; il peut donc être utile de définir QCanvasPainter::ImageFlag::GenerateMipmaps pour l'QCanvasImage utilisé afin d'obtenir des motifs lisses.

Documentation des fonctions membres

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image)

Crée un motif d'image. Le motif utilisera image. Veuillez noter que image doit généralement comporter au moins le drapeau QCanvasPainter::ImageFlag::Repeat. La position de départ du motif est (0, 0) et sa taille est (100, 100). L'angle du motif est de 0,0 et la teinte est le blanc (pas de teinte).

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

Construit un motif d'image à l'aide de image, en commençant par startPosition et en affichant l'image à l'adresse imageSize. Veuillez noter que image doit généralement comporter au moins le drapeau QCanvasPainter::ImageFlag::Repeat.

Voir également setStartPosition() et setImageSize().

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

Construit un motif d'image à l'aide de image, en partant de startX, startY, et en affichant l'image à l'adresse imageWidth, imageHeight. Veuillez noter que image doit généralement comporter au moins le drapeau QCanvasPainter::ImageFlag::Repeat.

Voir également setRotation() et setTintColor().

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImagePattern &)

Détruit le motif de l'image.

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

Crée par « move » une instance de ` QCanvasImagePattern`.

QCanvasImage QCanvasImagePattern::image() const

Renvoie l'image du motif.

Voir aussi setImage().

QSizeF QCanvasImagePattern::imageSize() const

Renvoie la taille d'une image donnée dans `pattern`.

Voir aussi setImageSize().

qreal QCanvasImagePattern::rotation() const

Renvoie l'angle de rotation du motif en radians.

Voir aussi setRotation().

void QCanvasImagePattern::setImage(const QCanvasImage &image)

Définit l'image du modèle sur image. Remarque : l'image doit généralement avoir l'indicateur « Repeat » activé lorsqu'elle est utilisée dans un modèle d'image.

Voir également image().

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

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

Voir également imageSize().

void QCanvasImagePattern::setImageSize(QSizeF size)

Définit la taille d'une image individuelle dans le motif sur size.

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

void QCanvasImagePattern::setRotation(qreal rotation)

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

Voir également rotation().

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

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

Voir également startPosition().

void QCanvasImagePattern::setStartPosition(QPointF point)

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

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

void QCanvasImagePattern::setTintColor(QColor color)

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

Remarque : pour définir l'opacité de manière globale, utilisez QCanvasPainter::setGlobalAlpha()

Voir également tintColor().

QPointF QCanvasImagePattern::startPosition() const

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

Voir aussi 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 la forme d'un objet ` QVariant`.

Éléments associés non membres

[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 l'pattern on fournie dans l'stream on indiquée et renvoie une référence à l'stream on.

Voir également Sérialisation des types de données Qt.

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

Renvoie « true » si le motif de l'image lhs est égal à « rhs » ; sinon, « false ».

Voir également operator!=().

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

Lit l'pattern on fournie à partir de l'stream on indiquée et renvoie une référence à l'stream on.

Voir également 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.