En esta página

QCanvasImagePattern Class

QCanvasImagePattern es un pincel para pintar patrones de imagen. Más...

Cabecera: #include <QCanvasImagePattern>
CMake: find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)
target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter)
Desde: Qt 6.11
Hereda de: QCanvasBrush
Estado: Technical Preview

Funciones públicas

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)

Descripción Detallada

QCanvasImagePattern es un pincel para pintar patrones de imagen. Para usar QCanvasImage como patrón, debe tener algunas banderas de repetición activadas como QCanvasPainter::ImageFlag::Repeat.

Aquí hay un ejemplo 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();

Nota: Cuando se usan patrones de imagen, las imagenes son a menudo escaladas a un tamaño menor y puede ser util configurar QCanvasPainter::ImageFlag::GenerateMipmaps para el usado QCanvasImage para tener patrones suaves.

Documentación de las funciones miembro

QCanvasImagePattern::QCanvasImagePattern()

Construye un patrón de imagen por defecto. La imagen no se establecerá, por favor utilice setImage() después de este constructor. La posición de inicio del patrón es (0, 0) y el tamaño del patrón (100, 100). El ángulo del patrón es 0.0 y el color del tinte es blanco (sin tinte).

Véase también setImage().

QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image)

Construye un patrón de imagen. El patrón utilizará image. Por favor, tenga en cuenta que image debería tener al menos la bandera QCanvasPainter::ImageFlag::Repeat activada. La posición de inicio del patrón es (0, 0) y el tamaño del patrón (100, 100). El ángulo del patrón es 0.0 y el color del tinte es blanco (sin tinte).

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

Construye un patrón de imagen. El patrón utilizará image. Por favor, tenga en cuenta que image debería tener al menos la bandera QCanvasPainter::ImageFlag::Repeat activada. La posición y el tamaño de la imagen del patrón se definen con rect. El ángulo del patrón es angle y el color del matiz es tintColor.

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

Construye un patrón de imagen. El patrón utilizará image. Tenga en cuenta que image debe tener al menos la bandera QCanvasPainter::ImageFlag::Repeat activada. La posición de inicio de la imagen del patrón es ( x, y) y el tamaño del patrón ( width, height). El ángulo del patrón es angle y el color del matiz es tintColor.

[noexcept] QCanvasImagePattern::~QCanvasImagePattern()

Destruye el patrón de imagen.

QCanvasImage QCanvasImagePattern::image() const

Devuelve la imagen del patrón.

Véase también setImage().

QSizeF QCanvasImagePattern::imageSize() const

Devuelve el tamaño de una sola imagen en patrón.

Véase también setImageSize().

float QCanvasImagePattern::rotation() const

Devuelve la rotación del patrón en radianes.

Véase también setRotation().

void QCanvasImagePattern::setImage(const QCanvasImage &image)

Establece la imagen del patrón en image. Nota: Normalmente, la imagen debe tener definida la bandera Repeat cuando se utiliza en un patrón de imagen.

Véase también image().

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

Establece el tamaño de una sola imagen en patrón a ( width, height).

Véase también imageSize().

void QCanvasImagePattern::setImageSize(QSizeF size)

Establece el tamaño de una sola imagen en patrón a size.

Se trata de una función sobrecargada.

void QCanvasImagePattern::setRotation(float rotation)

Establece la rotación del patrón en rotation en radianes. La rotación se realiza alrededor de la imagen startPosition(). El valor por defecto es 0.0, lo que significa que la imagen no se rota.

Véase también rotation().

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

Establece el punto de inicio del patrón de imagen en (x, y). La posición inicial significa la esquina superior izquierda de una imagen en el patrón. El patrón se extenderá entonces a todas las posiciones a partir de aquí (si se ha establecido la bandera de imagen Repeat ).

Véase también startPosition().

void QCanvasImagePattern::setStartPosition(QPointF point)

Establece el punto de inicio del patrón de imagen en point. La posición de inicio significa la esquina superior izquierda de una imagen en el patrón. El patrón se extenderá a todas las posiciones a partir de aquí (si se ha definido la bandera de la imagen Repeat ).

Se trata de una función sobrecargada.

void QCanvasImagePattern::setTintColor(const QColor &color)

Establece el color de tinte del patrón en color. El color de la imagen del patrón se multiplicará con este color de tinte en el shader. El valor por defecto es blanco, lo que significa que no hay matiz.

Nota: Para establecer el alfa globalmente, utilice QCanvasPainter::setGlobalAlpha()

Ver también tintColor().

QPointF QCanvasImagePattern::startPosition() const

Devuelve el punto de inicio del patrón de la imagen.

Véase también setStartPosition().

QColor QCanvasImagePattern::tintColor() const

Devuelve el color de tinte del patrón.

Véase también setTintColor().

QCanvasImagePattern::operator QVariant() const

Devuelve el patrón de la imagen como QVariant.

Relacionados No miembros

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

Devuelve true si el patrón de imagen lhs es diferente de rhs; false en caso contrario.

Véase también operator==().

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

Escribe el pattern dado en el stream dado y devuelve una referencia al stream.

Véase también Serializar tipos de datos Qt.

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

Devuelve true si el patrón de imagen lhs es igual a rhs; false en caso contrario.

Véase también operator!=().

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

Lee el pattern dado del stream dado y devuelve una referencia al stream.

Véase también Serializar tipos de datos 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.