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.

Inheritance diagram of PySide6.QtCanvasPainter.QCanvasImagePattern

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__()

Constructs a default image pattern. Image will not be set, please use setImage() after this constructor. Pattern start position position is (0, 0) and pattern size (100, 100). Pattern angle is 0.0 and tint color white (no tinting).

See also

setImage()

__init__(image)
Parameters:

imageQCanvasImage

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__(image, rect[, angle=0.0f[, tintColor=QColorConstants.White]])
Parameters:

Constructs an image pattern. Pattern will use image. Please note that image should usually have at least Repeat flag set. Pattern image position position and size is defined with rect. Pattern angle is angle and tint color is tintColor.

__init__(image, x, y, width, height[, angle=0.0f[, tintColor=QColorConstants.White]])
Parameters:
  • imageQCanvasImage

  • x – float

  • y – float

  • width – float

  • height – float

  • angle – float

  • tintColorQColor

Constructs an image pattern. Pattern will use image. Please note that image should usually have at least Repeat flag set. Pattern image start position position is ( x, y) and pattern size ( width, height). Pattern angle is angle and tint color is tintColor.

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:

rhsQCanvasImagePattern

Return type:

bool

__eq__(rhs)
Parameters:

rhsQCanvasImagePattern

Return type:

bool

rotation()
Return type:

float

Returns the pattern rotation in radians.

See also

setRotation()

setImage(image)
Parameters:

imageQCanvasImage

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:

sizeQSizeF

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:

pointQPointF

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:

colorQColor

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.

tintColor()
Return type:

QColor

Returns the pattern tint color.

See also

setTintColor()