PySide6.QtCanvasPainter.QCanvasImagePattern

class QCanvasImagePattern

QCanvasImagePattern is a brush for painting image patterns.

Details

QCanvasImagePattern is a brush for painting image patterns. To use QCanvasImage as a pattern, it should have some repeat flags turned on like Repeat .

Here is a simple example:

// 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();
../../_images/imagepattern_example_1.png

Note

When using image patterns, images are often scaled to smaller and it can be useful to set GenerateMipmaps for the used QCanvasImage to have smooth patterns.

Synopsis

Methods

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

__init__()
__init__(image)
Parameters:

image – QCanvasImage

Constructs an image pattern. Pattern will use image. Please note that image should usually have at least Repeat flag set. Pattern start position position is (0, 0) and pattern size (100, 100). Pattern angle is 0.0 and tint color white (no tinting).

__init__(arg__1)
Parameters:

arg__1 – QCanvasImagePattern

Destroys the image pattern.

__init__(image, startPosition, imageSize)
Parameters:

Constructs an image pattern using image, starting at startPosition and with the image drawn at imageSize. Please note that image should usually have at least Repeat flag set.

__init__(image, startX, startY, imageWidth, imageHeight)
Parameters:
  • image – QCanvasImage

  • startX – float

  • startY – float

  • imageWidth – float

  • imageHeight – float

Constructs an image pattern using image, starting at startX, startY and with the image drawn at imageWidth, imageHeight. Please note that image should usually have at least Repeat flag set.

image()
Return type:

QCanvasImage

Returns the image of the pattern.

See also

setImage()

imageSize()
Return type:

QSizeF

Returns the size of a single image in pattern.

See also

setImageSize()

__ne__(rhs)
Parameters:

rhs – QCanvasImagePattern

Return type:

bool

__eq__(rhs)
Parameters:

rhs – QCanvasImagePattern

Return type:

bool

rotation()
Return type:

float

Returns the pattern rotation in radians.

See also

setRotation()

serialNumber()
Return type:

int

setImage(image)
Parameters:

image – QCanvasImage

Sets the image of the pattern to image. Note: Image should usually have Repeat flag set when used in image pattern.

See also

image()

setImageSize(size)
Parameters:

size – QSizeF

Sets the size of a single image in pattern to size.

setImageSize(width, height)
Parameters:
  • width – float

  • height – float

Sets the size of a single image in pattern to ( width, height).

See also

imageSize()

setRotation(rotation)
Parameters:

rotation – float

Sets the pattern rotation to rotation in radians. Rotation is done around the image startPosition() . The default value is 0.0, meaning the image is not rotated.

See also

rotation()

setStartPosition(point)
Parameters:

point – QPointF

Sets the start point of image pattern to point. Start position means top-left corner of an image in pattern. Pattern will then be extended to all positions from here (if image Repeat flag has been set).

setStartPosition(x, y)
Parameters:
  • x – float

  • y – float

Sets the start point of image pattern to (x, y). Start position means top-left corner of an image in pattern. Pattern will then be extended to all positions from here (if image Repeat flag has been set).

See also

startPosition()

setTintColor(color)
Parameters:

color – QColor

Sets the pattern tint color to color. The color of the pattern image will be multiplied with this tint color in the shader. The default value is white, meaning no tinting.

Note

To set alpha globally, use setGlobalAlpha()

See also

tintColor()

startPosition()
Return type:

QPointF

Returns the start point of image pattern.

swap(other)
Parameters:

other – QCanvasImagePattern

tintColor()
Return type:

QColor

Returns the pattern tint color.

See also

setTintColor()