QCanvasImagePattern Class
QCanvasImagePattern は、画像パターンを描画するためのブラシです。詳細...
| ヘッダー: | #include <QCanvasImagePattern> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS CanvasPainter) target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter) |
| 以下より: | Qt 6.11 |
パブリック関数
| 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) |
詳細な説明
QCanvasImagePatternは、画像パターンを描画するためのブラシです。QCanvasImage をパターンとして使用するには、QCanvasPainter::ImageFlag::Repeat のように、いくつかの繰り返しフラグが有効になっている必要があります。
以下に簡単な例を示します。
// 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();
注: 画像パターンを使用する場合 、画像はしばしば縮小されるため、滑らかなパターンを得るには、使用するQCanvasImage に対してQCanvasPainter::ImageFlag::GenerateMipmaps を設定しておくと便利です。
メンバー関数のドキュメント
QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image)
画像パターンを生成します。パターンにはimage が使用されます。なお、image には通常、少なくともQCanvasPainter::ImageFlag::Repeat フラグが設定されている必要があることにご注意ください。パターンの開始位置は(0, 0)、パターンサイズは(100, 100)です。パターンの角度は0.0、色調は白(色調なし)です。
QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image, QPointF startPosition, QSizeF imageSize)
image を使用して、startPosition から開始し、imageSize に画像を描画する画像パターンを構築します。なお、image には通常、少なくともQCanvasPainter::ImageFlag::Repeat フラグが設定されている必要がある点にご注意ください。
setStartPosition() およびsetImageSize()も参照してください 。
QCanvasImagePattern::QCanvasImagePattern(const QCanvasImage &image, qreal startX, qreal startY, qreal imageWidth, qreal imageHeight)
image を使用して、startX 、startY を起点とし、imageWidth 、imageHeight に画像を描画する画像パターンを構築します。なお、image には通常、少なくともQCanvasPainter::ImageFlag::Repeat フラグが設定されている必要がある点にご注意ください。
setRotation() およびsetTintColor()も参照してください 。
QCanvasImagePattern::QCanvasImagePattern(const QCanvasImagePattern &)
画像パターンを削除します。
[constexpr noexcept default] QCanvasImagePattern::QCanvasImagePattern(QCanvasImagePattern &&)
QCanvasImagePattern のインスタンスをMoveコンストラクタで生成します。
QCanvasImage QCanvasImagePattern::image() const
パターンの画像を返します。
setImage()も参照してください 。
QSizeF QCanvasImagePattern::imageSize() const
pattern 内の単一の画像のサイズを返します。
setImageSize()も参照してください 。
qreal QCanvasImagePattern::rotation() const
パターンの回転角度をラジアン単位で返します。
setRotation()も参照してください 。
void QCanvasImagePattern::setImage(const QCanvasImage &image)
パターンの画像を `image` に設定します。注:画像パターンで画像を使用する場合、通常は `Repeat ` フラグを設定する必要があります。
image()も参照してください 。
void QCanvasImagePattern::setImageSize(qreal width, qreal height)
pattern 内の個々の画像のサイズを (width,height) に設定します。
imageSize()も参照してください 。
void QCanvasImagePattern::setImageSize(QSizeF size)
pattern 内の個々の画像のサイズを `size` に設定します。
これはオーバーロードされた関数です。
void QCanvasImagePattern::setRotation(qreal rotation)
パターンの回転角度をラジアン単位でrotation に設定します。回転は画像startPosition()を基準に行われます。デフォルト値は0.0 であり、これは画像が回転されないことを意味します。
rotation()も参照してください 。
void QCanvasImagePattern::setStartPosition(qreal x, qreal y)
画像パターンの開始点を (x,y) に設定します。開始位置とは、パターン内の画像の左上隅を指します。その後、この位置からすべての位置へとパターンが拡張されます(Repeat フラグが設定されている場合)。
startPosition()も参照してください 。
void QCanvasImagePattern::setStartPosition(QPointF point)
画像パターンの開始点をpoint に設定します。開始位置とは、パターン内の画像の左上隅を指します。その後、この位置からすべての位置へとパターンが拡張されます(画像のRepeat フラグが設定されている場合)。
これはオーバーロードされた関数です。
void QCanvasImagePattern::setTintColor(QColor color)
パターンの色調を「color 」に設定します。シェーダー内で、パターン画像の色にこの色調が乗算されます。デフォルト値は白で、色調が適用されないことを意味します。
注: アルファをグローバルに設定するには 、QCanvasPainter::setGlobalAlpha() を使用してください。
関連項目: tintColor()。
QPointF QCanvasImagePattern::startPosition() const
画像パターンの開始点を返します。
setStartPosition()も参照してください 。
QColor QCanvasImagePattern::tintColor() const
パターンの色合いを返します。
setTintColor()も参照してください 。
QCanvasImagePattern::operator QVariant() const
画像パターンをQVariant として返します。
関連する非メンバー
[noexcept] bool operator!=(const QCanvasImagePattern &lhs, const QCanvasImagePattern &rhs)
画像パターン `lhs ` が `rhs` と異なる場合は `true ` を返し、それ以外の場合は `false ` を返します。
operator==()も参照してください 。
QDataStream &operator<<(QDataStream &stream, const QCanvasImagePattern &pattern)
指定されたpattern を指定されたstream に書き込み、stream への参照を返します。
「Qt データ型のシリアライズ」も参照してください 。
[noexcept] bool operator==(const QCanvasImagePattern &lhs, const QCanvasImagePattern &rhs)
画像パターン `lhs ` が `rhs` と等しい場合は `true ` を返し、それ以外の場合は `false ` を返します。
operator!=()も参照してください 。
QDataStream &operator>>(QDataStream &stream, QCanvasImagePattern &pattern)
指定されたstream から指定されたpattern を読み込み、stream への参照を返します。
「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.