QCanvasGradient Class
QCanvasGradient は、すべてのQCanvasPainter グラデーション ブラシの基本クラスです。もっと詳しく...
| ヘッダー | #include <QCanvasGradient> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter) |
| 以来: | Qt 6.11 |
| を継承しています: | QCanvasBrush |
| によって継承されています: | QCanvasBoxGradient,QCanvasConicalGradient,QCanvasLinearGradient, andQCanvasRadialGradient |
| ステータス | 技術プレビュー |
パブリック関数
| QColor | endColor() const |
| void | setColorAt(float position, const QColor &color) |
| void | setEndColor(const QColor &color) |
| void | setStartColor(const QColor &color) |
| void | setStops(const QCanvasGradientStops &stops) |
| QColor | startColor() const |
| QCanvasGradientStops | stops() const |
| QCanvasBrush::BrushType | type() const |
| operator QVariant() const |
関連する非メンバー
| QCanvasGradientStops | |
| bool | operator!=(const QCanvasGradient &lhs, const QCanvasGradient &rhs) |
| QDataStream & | operator<<(QDataStream &stream, const QCanvasGradient &gradient) |
| QDataStream & | operator<<(QDataStream &stream, const QCanvasGradientStop &stop) |
| bool | operator==(const QCanvasGradient &lhs, const QCanvasGradient &rhs) |
| QDataStream & | operator>>(QDataStream &stream, QCanvasGradient &gradient) |
| QDataStream & | operator>>(QDataStream &stream, QCanvasGradientStop &stop) |
詳細説明
QCanvasGradient は、すべてのQCanvasPainter グラデーション ブラシの基本クラスです。現在、4種類のグラデーションがあります:QCanvasLinearGradient QCanvasRadialGradient,QCanvasConicalGradient およびQCanvasBoxGradient です。
setStartColor,setEndColor,setColorAt,setStops でストップが提供されない場合、グラデーションは開始色白 (255,255,255) と終了色透明 (0,0,0,0) としてレンダリングされます。ストップが1つだけ指定された場合、グラデーションはこの色で塗りつぶされます。
QCanvasPainter は、グラデーションの描画に2つの異なるアプローチを使用します。
- 最大2ストップの場合、色は2つのvec4ユニフォームとしてシェーダに渡されます。これにより、2ストップグラデーションのアニメーションは、余分なステップを挟むことなく、非常にパフォーマンスが高くなります。
- 2ストップ以上の場合、色は1次元テクスチャとしてシェーダに渡されます。デフォルトでは、テクスチャサイズは1x256ピクセルで、品質とパフォーマンスのために最適化されています。テクスチャはキャッシュされるため、グラデーションのストップやカラーが変更されない場合、他のグラデーションプロパティ(位置や角度など)が変更されても、前のテクスチャを再利用できます。マルチストップ・グラデーションのアニメーションは高速ですが、テクスチャのアップロードが発生するので、その価値があるかどうかを検討してください。
グラデーションのテクスチャ使用をコントロールするための環境変数がいくつかあります:
- QCPAINTER_DISABLE_TEXTURE_USAGE_TRACKING - デフォルトでは、グラデーションテクスチャの使用量はトラッキングされ、最大量以下に保たれます。トラッキングを無効にし、すべてのグラデーションテクスチャをメモリ内に保持するには、この環境変数を設定します。
- QCPAINTER_MAX_TEXTURES - デフォルトでは、テクスチャの最大量は
1024です。この環境変数を、希望する最大テクスチャ量の数に設定します。現在使用されていない一時的なグラデーションテクスチャは、最大量に達すると自動的に削除されます。Note: テクスチャ使用量トラッキングが無効になっている場合、この効果はありません。
メンバー関数ドキュメント
QColor QCanvasGradient::endColor() const
グラデーションの終了色または最大位置の色を返します。終了色が設定されていない場合は、デフォルトの終了色透明黒 (0, 0, 0, 0) を返します。
setEndColor()も参照してください 。
void QCanvasGradient::setColorAt(float position, const QColor &color)
与えられたcolor で、与えられたposition に停止点を作成します。与えられたposition は 0 から 1 の範囲でなければならない。
void QCanvasGradient::setEndColor(const QColor &color)
グラデーションの終了色をcolor に設定します。 これは、1 の位置でsetColorAt() を呼び出すのと同じです。
endColor()も参照 。
void QCanvasGradient::setStartColor(const QColor &color)
グラデーションの開始色をcolor に設定します。 これは、0 の位置でsetColorAt() を呼び出すのと同じです。
startColor()も参照 。
void QCanvasGradient::setStops(const QCanvasGradientStops &stops)
現在のストップポイントのセットを、与えられたstops で置き換える。
ストップリストのルールは以下の通り:
- リストには少なくとも2つのストップが含まれていなければならない。
- ストップの位置は 0 から 1 の範囲でなければならず、最も低いストップからソートされなければならない。
- 最初の位置は0.0、最後の位置は1.0でなければならない。
setColorAt() およびstops()も参照 。
QColor QCanvasGradient::startColor() const
グラデーションの開始色または最小位置の色を返します。開始色が設定されていない場合は、デフォルトの開始色 white (255, 255, 255) を返します。
setStartColor()も参照してください 。
QCanvasGradientStops QCanvasGradient::stops() const
このグラデーションの停止点を返します。
setStops() およびsetColorAt()も参照 。
QCanvasBrush::BrushType QCanvasGradient::type() const
グラデーションの種類を返します。
QCanvasGradient::operator QVariant() const
グラデーションをQVariant として返す。
関連する非会員
QCanvasGradientStops
QList<QCanvasGradientStop> の型定義。
[noexcept] bool operator!=(const QCanvasGradient &lhs, const QCanvasGradient &rhs)
グラデーションlhs がrhs と異なる場合はtrue を返し、そうでない場合はfalse を返す。
operator==()も参照 。
QDataStream &operator<<(QDataStream &stream, const QCanvasGradient &gradient)
与えられたgradient を与えられたstream に書き込み、stream への参照を返します。
Qt データ型のシリアライズも参照してください 。
QDataStream &operator<<(QDataStream &stream, const QCanvasGradientStop &stop)
与えられたstream にグラデーションstop を書き込み、そのstream への参照を返します。
Qt データ型のシリアライズも参照してください 。
[noexcept] bool operator==(const QCanvasGradient &lhs, const QCanvasGradient &rhs)
勾配lhs がrhs と等しければtrue を返し、そうでなければfalse を返す。
operator!=()も参照 。
QDataStream &operator>>(QDataStream &stream, QCanvasGradient &gradient)
与えられたstream から与えられたgradient を読み込み、stream への参照を返します。
Qt データ型のシリアライズも参照してください 。
QDataStream &operator>>(QDataStream &stream, QCanvasGradientStop &stop)
与えられたstream からグラデーションstop を読み込み、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.