QPainter Class
QPainter クラスは、ウィジェットやその他のペイント・デバイスに対して低レベルのペイントを行います。詳細...
Header: | #include <QPainter> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Inherited By: |
- 継承メンバを含む全メンバ一覧
- QPainterはペイントクラスの一部です。
注意:このクラスの関数はすべてリエントラントです。
パブリック型
class | PixmapFragment |
enum | CompositionMode { CompositionMode_SourceOver, CompositionMode_DestinationOver, CompositionMode_Clear, CompositionMode_Source, CompositionMode_Destination, …, RasterOp_SourceOrNotDestination } |
enum | PixmapFragmentHint { OpaqueHint } |
flags | PixmapFragmentHints |
enum | RenderHint { Antialiasing, TextAntialiasing, SmoothPixmapTransform, VerticalSubpixelPositioning, LosslessImageRendering, NonCosmeticBrushPatterns } |
flags | RenderHints |
パブリック関数
QPainter() | |
QPainter(QPaintDevice *device) | |
~QPainter() | |
const QBrush & | background() const |
Qt::BGMode | backgroundMode() const |
bool | begin(QPaintDevice *device) |
void | beginNativePainting() |
QRectF | boundingRect(const QRectF &rectangle, int flags, const QString &text) |
QRect | boundingRect(const QRect &rectangle, int flags, const QString &text) |
QRectF | boundingRect(const QRectF &rectangle, const QString &text, const QTextOption &option = QTextOption()) |
QRect | boundingRect(int x, int y, int w, int h, int flags, const QString &text) |
const QBrush & | brush() const |
QPoint | brushOrigin() const |
QRectF | clipBoundingRect() const |
QPainterPath | clipPath() const |
QRegion | clipRegion() const |
QTransform | combinedTransform() const |
QPainter::CompositionMode | compositionMode() const |
QPaintDevice * | device() const |
const QTransform & | deviceTransform() const |
void | drawArc(const QRectF &rectangle, int startAngle, int spanAngle) |
void | drawArc(const QRect &rectangle, int startAngle, int spanAngle) |
void | drawArc(int x, int y, int width, int height, int startAngle, int spanAngle) |
void | drawChord(const QRectF &rectangle, int startAngle, int spanAngle) |
void | drawChord(const QRect &rectangle, int startAngle, int spanAngle) |
void | drawChord(int x, int y, int width, int height, int startAngle, int spanAngle) |
void | drawConvexPolygon(const QPointF *points, int pointCount) |
void | drawConvexPolygon(const QPolygon &polygon) |
void | drawConvexPolygon(const QPolygonF &polygon) |
void | drawConvexPolygon(const QPoint *points, int pointCount) |
void | drawEllipse(const QRectF &rectangle) |
void | drawEllipse(const QRect &rectangle) |
void | drawEllipse(const QPoint ¢er, int rx, int ry) |
void | drawEllipse(const QPointF ¢er, qreal rx, qreal ry) |
void | drawEllipse(int x, int y, int width, int height) |
void | drawGlyphRun(const QPointF &position, const QGlyphRun &glyphs) |
void | drawImage(const QRectF &target, const QImage &image, const QRectF &source, Qt::ImageConversionFlags flags = Qt::AutoColor) |
void | drawImage(const QPoint &point, const QImage &image) |
void | drawImage(const QPointF &point, const QImage &image) |
void | drawImage(const QRect &rectangle, const QImage &image) |
void | drawImage(const QRectF &rectangle, const QImage &image) |
void | drawImage(const QPoint &point, const QImage &image, const QRect &source, Qt::ImageConversionFlags flags = Qt::AutoColor) |
void | drawImage(const QPointF &point, const QImage &image, const QRectF &source, Qt::ImageConversionFlags flags = Qt::AutoColor) |
void | drawImage(const QRect &target, const QImage &image, const QRect &source, Qt::ImageConversionFlags flags = Qt::AutoColor) |
void | drawImage(int x, int y, const QImage &image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor) |
void | drawLine(const QLineF &line) |
void | drawLine(const QLine &line) |
void | drawLine(const QPoint &p1, const QPoint &p2) |
void | drawLine(const QPointF &p1, const QPointF &p2) |
void | drawLine(int x1, int y1, int x2, int y2) |
void | drawLines(const QLineF *lines, int lineCount) |
void | drawLines(const QList<QLine> &lines) |
void | drawLines(const QList<QLineF> &lines) |
void | drawLines(const QList<QPoint> &pointPairs) |
void | drawLines(const QList<QPointF> &pointPairs) |
void | drawLines(const QLine *lines, int lineCount) |
void | drawLines(const QPoint *pointPairs, int lineCount) |
void | drawLines(const QPointF *pointPairs, int lineCount) |
void | drawPath(const QPainterPath &path) |
void | drawPicture(const QPointF &point, const QPicture &picture) |
void | drawPicture(const QPoint &point, const QPicture &picture) |
void | drawPicture(int x, int y, const QPicture &picture) |
void | drawPie(const QRectF &rectangle, int startAngle, int spanAngle) |
void | drawPie(const QRect &rectangle, int startAngle, int spanAngle) |
void | drawPie(int x, int y, int width, int height, int startAngle, int spanAngle) |
void | drawPixmap(const QRectF &target, const QPixmap &pixmap, const QRectF &source) |
void | drawPixmap(const QPoint &point, const QPixmap &pixmap) |
void | drawPixmap(const QPointF &point, const QPixmap &pixmap) |
void | drawPixmap(const QRect &rectangle, const QPixmap &pixmap) |
void | drawPixmap(const QPoint &point, const QPixmap &pixmap, const QRect &source) |
void | drawPixmap(const QPointF &point, const QPixmap &pixmap, const QRectF &source) |
void | drawPixmap(const QRect &target, const QPixmap &pixmap, const QRect &source) |
void | drawPixmap(int x, int y, const QPixmap &pixmap) |
void | drawPixmap(int x, int y, int width, int height, const QPixmap &pixmap) |
void | drawPixmap(int x, int y, const QPixmap &pixmap, int sx, int sy, int sw, int sh) |
void | drawPixmap(int x, int y, int w, int h, const QPixmap &pixmap, int sx, int sy, int sw, int sh) |
void | drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap, QPainter::PixmapFragmentHints hints = PixmapFragmentHints()) |
void | drawPoint(const QPointF &position) |
void | drawPoint(const QPoint &position) |
void | drawPoint(int x, int y) |
void | drawPoints(const QPointF *points, int pointCount) |
void | drawPoints(const QPolygon &points) |
void | drawPoints(const QPolygonF &points) |
void | drawPoints(const QPoint *points, int pointCount) |
void | drawPolygon(const QPointF *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill) |
void | drawPolygon(const QPolygon &points, Qt::FillRule fillRule = Qt::OddEvenFill) |
void | drawPolygon(const QPolygonF &points, Qt::FillRule fillRule = Qt::OddEvenFill) |
void | drawPolygon(const QPoint *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill) |
void | drawPolyline(const QPointF *points, int pointCount) |
void | drawPolyline(const QPolygon &points) |
void | drawPolyline(const QPolygonF &points) |
void | drawPolyline(const QPoint *points, int pointCount) |
void | drawRect(const QRectF &rectangle) |
void | drawRect(const QRect &rectangle) |
void | drawRect(int x, int y, int width, int height) |
void | drawRects(const QRectF *rectangles, int rectCount) |
void | drawRects(const QList<QRect> &rectangles) |
void | drawRects(const QList<QRectF> &rectangles) |
void | drawRects(const QRect *rectangles, int rectCount) |
void | drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize) |
void | drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize) |
void | drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize) |
void | drawStaticText(const QPointF &topLeftPosition, const QStaticText &staticText) |
void | drawStaticText(const QPoint &topLeftPosition, const QStaticText &staticText) |
void | drawStaticText(int left, int top, const QStaticText &staticText) |
void | drawText(const QPointF &position, const QString &text) |
void | drawText(const QPoint &position, const QString &text) |
void | drawText(const QRectF &rectangle, const QString &text, const QTextOption &option = QTextOption()) |
void | drawText(int x, int y, const QString &text) |
void | drawText(const QRect &rectangle, int flags, const QString &text, QRect *boundingRect = nullptr) |
void | drawText(const QRectF &rectangle, int flags, const QString &text, QRectF *boundingRect = nullptr) |
void | drawText(int x, int y, int width, int height, int flags, const QString &text, QRect *boundingRect = nullptr) |
void | drawTiledPixmap(const QRectF &rectangle, const QPixmap &pixmap, const QPointF &position = QPointF()) |
void | drawTiledPixmap(const QRect &rectangle, const QPixmap &pixmap, const QPoint &position = QPoint()) |
void | drawTiledPixmap(int x, int y, int width, int height, const QPixmap &pixmap, int sx = 0, int sy = 0) |
bool | end() |
void | endNativePainting() |
void | eraseRect(const QRectF &rectangle) |
void | eraseRect(const QRect &rectangle) |
void | eraseRect(int x, int y, int width, int height) |
void | fillPath(const QPainterPath &path, const QBrush &brush) |
void | fillRect(const QRectF &rectangle, const QBrush &brush) |
void | fillRect(const QRect &rectangle, QGradient::Preset preset) |
void | fillRect(const QRect &rectangle, Qt::BrushStyle style) |
void | fillRect(const QRect &rectangle, Qt::GlobalColor color) |
void | fillRect(const QRect &rectangle, const QBrush &brush) |
void | fillRect(const QRect &rectangle, const QColor &color) |
void | fillRect(const QRectF &rectangle, QGradient::Preset preset) |
void | fillRect(const QRectF &rectangle, Qt::BrushStyle style) |
void | fillRect(const QRectF &rectangle, Qt::GlobalColor color) |
void | fillRect(const QRectF &rectangle, const QColor &color) |
void | fillRect(int x, int y, int width, int height, QGradient::Preset preset) |
void | fillRect(int x, int y, int width, int height, Qt::BrushStyle style) |
void | fillRect(int x, int y, int width, int height, Qt::GlobalColor color) |
void | fillRect(int x, int y, int width, int height, const QBrush &brush) |
void | fillRect(int x, int y, int width, int height, const QColor &color) |
const QFont & | font() const |
QFontInfo | fontInfo() const |
QFontMetrics | fontMetrics() const |
bool | hasClipping() const |
bool | isActive() const |
Qt::LayoutDirection | layoutDirection() const |
qreal | opacity() const |
QPaintEngine * | paintEngine() const |
const QPen & | pen() const |
QPainter::RenderHints | renderHints() const |
void | resetTransform() |
void | restore() |
void | rotate(qreal angle) |
void | save() |
void | scale(qreal sx, qreal sy) |
void | setBackground(const QBrush &brush) |
void | setBackgroundMode(Qt::BGMode mode) |
void | setBrush(const QBrush &brush) |
void | setBrush(Qt::BrushStyle style) |
void | setBrushOrigin(const QPointF &position) |
void | setBrushOrigin(const QPoint &position) |
void | setBrushOrigin(int x, int y) |
void | setClipPath(const QPainterPath &path, Qt::ClipOperation operation = Qt::ReplaceClip) |
void | setClipRect(const QRectF &rectangle, Qt::ClipOperation operation = Qt::ReplaceClip) |
void | setClipRect(int x, int y, int width, int height, Qt::ClipOperation operation = Qt::ReplaceClip) |
void | setClipRect(const QRect &rectangle, Qt::ClipOperation operation = Qt::ReplaceClip) |
void | setClipRegion(const QRegion ®ion, Qt::ClipOperation operation = Qt::ReplaceClip) |
void | setClipping(bool enable) |
void | setCompositionMode(QPainter::CompositionMode mode) |
void | setFont(const QFont &font) |
void | setLayoutDirection(Qt::LayoutDirection direction) |
void | setOpacity(qreal opacity) |
void | setPen(const QPen &pen) |
void | setPen(Qt::PenStyle style) |
void | setPen(const QColor &color) |
void | setRenderHint(QPainter::RenderHint hint, bool on = true) |
void | setRenderHints(QPainter::RenderHints hints, bool on = true) |
void | setTransform(const QTransform &transform, bool combine = false) |
void | setViewTransformEnabled(bool enable) |
void | setViewport(const QRect &rectangle) |
void | setViewport(int x, int y, int width, int height) |
void | setWindow(const QRect &rectangle) |
void | setWindow(int x, int y, int width, int height) |
void | setWorldMatrixEnabled(bool enable) |
void | setWorldTransform(const QTransform &matrix, bool combine = false) |
void | shear(qreal sh, qreal sv) |
void | strokePath(const QPainterPath &path, const QPen &pen) |
bool | testRenderHint(QPainter::RenderHint hint) const |
const QTransform & | transform() const |
void | translate(const QPointF &offset) |
void | translate(const QPoint &offset) |
void | translate(qreal dx, qreal dy) |
bool | viewTransformEnabled() const |
QRect | viewport() const |
QRect | window() const |
bool | worldMatrixEnabled() const |
const QTransform & | worldTransform() const |
詳細説明
QPainter は、GUI プログラムが必要とするほとんどの描画を行うために高度に最適化された関数を提供します。単純な線からパイやコードのような複雑な図形まで描画できます。また、整列されたテキストやピクセルマップも描画できます。通常は「自然な」座標系で描画しますが、ビュー変換やワールド変換も可能です。QPainter は、QPaintDevice クラスを継承する任意のオブジェクトに対して操作できます。
QPainterの一般的な使い方は、ウィジェットのpaintイベント内です:ペインターを構築し、カスタマイズします(例えば、ペンやブラシを設定します)。次に描画します。描画後、QPainterオブジェクトを破棄することを忘れないでください。例えば
void SimpleExampleWidget::paintEvent(QPaintEvent *) { QPainter painter(this); painter.setPen(Qt::blue); painter.setFont(QFont("Arial", 30)); painter.drawText(rect(), Qt::AlignCenter, "Qt"); }
QPainterの核となる機能は描画ですが、このクラスはQPainterの設定や描画品質をカスタマイズする関数や、クリッピングを可能にする関数も提供しています。さらに、ペインターの合成モードを指定することで、異なる図形をどのように合成するかを制御できます。
isActive() 関数はペインターがアクティブかどうかを示します。ペインターはbegin() 関数とQPaintDevice 引数を取るコンストラクタによってアクティブになります。end() 関数とデストラクタはペインターを非アクティブにします。
QPainter は、QPaintDevice とQPaintEngine クラスとともに、Qt のペイントシステムの基本を形成しています。QPainter は描画操作を行うために使用されるクラスです。QPaintDevice は QPainter を使用して描画できるデバイスを表します。QPaintEngine は、ペインターが異なるタイプのデバイスに描画するために使用するインターフェイスを提供します。ペインターがアクティブな場合、device() はペインターが描画するペイント・デバイスを返し、paintEngine() はペインターが現在操作しているペイント・エンジンを返します。詳細については、ペイントシステムを参照してください。
時には、QPaintDevice 変わったペイントを他の人にさせたいこともあります。QPainter はこのための静的関数 setRedirected() をサポートしています。
警告: paintdevice がウィジェットの場合、QPainter は paintEvent() 関数の中か、paintEvent() によって呼び出される関数の中でのみ使用できます。
設定
QPainterをあなたの好みに合わせて描画するために、カスタマイズできる設定がいくつかあります:
- font() はテキストの描画に使用するフォントです。ペインターがisActive() を指定すると、fontInfo() とfontMetrics() 関数をそれぞれ使って、現在設定されているフォントとそのメトリクスに関する情報を取得できます。
- brush() は、図形の塗りつぶしに使われる色やパターンを定義します。
- pen() は、線や境界の描画に使われる色やスティプルを定義します。
- backgroundMode() は、background() があるかどうか、つまりQt::OpaqueMode かQt::TransparentMode かを定義する。
- background() は、backgroundMode() がQt::OpaqueMode で、pen() がスティプルである場合にのみ適用される。この場合、スティプル内の背景ピクセルの色を記述する。
- brushOrigin() は、タイル状のブラシの原点を定義し、通常はウィジェットの背景の原点となります。
- viewport(),window(),worldTransform() はペインターの座標変換システムを構成します。詳しくは、Coordinate Transformations のセクションとCoordinate Systemのドキュメントを参照してください。
- hasClipping() はペインターがクリップするかどうかを指定します。(ペイントデバイスもクリップします。) ペインターがクリップする場合、clipRegion() にクリップします。
- layoutDirection() は、ペインターがテキストを描画するときに使用するレイアウト方向を定義します。
- worldMatrixEnabled() はワールド変換が有効かどうかを指定します。
- viewTransformEnabled() はビュー変換が有効かどうかを指定します。
これらの設定のいくつかは、QWidget::font() のようなペイントデバイスの設定を反映していることに注意してください。QPainter::begin() 関数(または同等の QPainter コンストラクタ)は、ペイントデバイスからこれらの属性をコピーします。
QPainterの状態を保存するには、save ()関数を呼び出します。restore() 関数はそれらをポップバックします。
描画
drawPoint(),drawPoints(),drawLine(),drawRect(),drawRoundedRect(),drawEllipse(),drawArc(),drawPie(),drawChord(),drawPolyline(),drawPolygon(),drawConvexPolygon() と drawCubicBezier() です。drawRects() とdrawLines() の2つの便利関数は、現在のペンとブラシを使用して、QRects またはQLines の指定された配列に、指定された数の矩形または線を描画します。
QPainter クラスは、与えられたQRect を与えられたQBrush で塗りつぶすfillRect() 関数と、与えられた矩形の内側の領域を消去するeraseRect() 関数も提供します。
これらの関数はすべて、整数バージョンと浮動小数点バージョンの両方を持っています。
基本描画の例 基本描画の例では、QPainter クラスを使用して、基本的なグラフィック・プリミティブをさまざまなスタイルで表示する方法を示します。 |
複雑な図形を描画する必要がある場合、特に繰り返し描画する必要がある場合は、QPainterPath を作成し、drawPath() を使用して描画することを検討してください。
ペインターパスの例 QPainterPath クラスは描画操作のためのコンテナを提供し、グラフィカルな図形を構築して再利用できるようにします。 ペインターパスの例では、ペインターパスを使用して、レンダリング用の複雑な形状を構築する方法を示します。 |
QPainter はまた、与えられたQPainterPath を与えられたQBrush で塗りつぶすfillPath() 関数と、与えられたパスの輪郭を描画する(つまり、パスをストロークする)strokePath() 関数を提供します。
また、QPainterPath を使用してテキストを描画する高度なベクトル技術を使用する方法を示すVector Deformation の例、Qt で使用可能なさまざまな種類のグラデーションを示すGradients の例、Qt の組み込みダッシュパターンを示し、使用可能なパターンの範囲を拡張するためにカスタムパターンを使用する方法を示すPath Stroking の例も参照してください。
テキストの描画にはdrawText() を使用します。細かい位置決めが必要な場合は、boundingRect() が、指定されたdrawText() コマンドが描画する位置を教えてくれます。
ピクスマップと画像の描画
drawPixmap ()、drawImage ()、drawTiledPixmap ()。drawPixmap() とdrawImage() はどちらも同じ結果を生成しますが、drawPixmap() の方が画面上では速く、drawImage() の方がQPrinter などのデバイス上では速い場合があります。
QPicture 全体の内容を描画するdrawPicture ()関数がある。QPicture には独自の設定があるため、drawPicture() 関数はペインターの設定をすべて無視する唯一の関数です。
ピクスマップと画像の高解像度版の描画
高解像度版のピクスマップは、デバイスのピクセル比の値が1より大きくなります(QImageReader,QPixmap::devicePixelRatio() を参照)。この値がQPaintDevice の値と一致する場合、追加の変換は適用されず、デバイス上に直接描画されます。
例えば、64x64 ピクセルの大きさで、デバイスピクセル比が 2 のQPixmap を、同じくデバイスピクセル比が 2 の高 DPI スクリーンに描画する場合です。この場合、pixmap はユーザー空間では実質的に 32x32 ピクセルになることに注意してください。pixmapのサイズに基づいてレイアウトのジオメトリを計算するQtのコードパスは、このサイズを使用します。この正味の効果は、pixmapが大きなpixmapではなく、高DPIのpixmapとして表示されることです。
レンダリング品質
QPainterを使用して最適なレンダリング結果を得るには、プラットフォームに依存しないQImage をペイントデバイスとして使用する必要があります。つまり、QImage を使用することで、どのプラットフォームでも同じピクセル表現になります。
QPainterクラスは、RenderHint 列挙型と浮動小数点精度のサポートを通じて、レンダリング品質を制御する手段も提供します:プリミティブを描画する関数はすべて浮動小数点数バージョンを持っています。
painter.drawEllipse(QRectF(-diameter / 2.0, -diameter / 2.0, diameter, diameter));
これらはQPainter::Antialiasing レンダー・ヒントと組み合わせてよく使われます。
同心円をintとfloatで、またアンチエイリアスレンダリングの有無で比較。浮動小数点精度のバージョンを使用すると、等間隔の輪ができます。アンチエイリアス付きレンダリングでは、滑らかな円になります。 |
RenderHint enum は、QPainter に対するフラグを指定します。このフラグは、任意のエンジンによって尊重される場合とされない場合があります。QPainter::Antialiasing は、エンジンが可能であればプリミティブのエッジをアンチエイリアスすべきことを示し、QPainter::TextAntialiasing は、エンジンが可能であればテキストをアンチエイリアスすべきことを示し、QPainter::SmoothPixmapTransform は、エンジンが滑らかな pixmap 変換アルゴリズムを使用すべきことを示します。
renderHints() 関数は、このペインタに設定されているレンダリングヒントを指定するフラグを返します。現在設定されているRenderHints を設定またはクリアするにはsetRenderHint() 関数を使用します。
座標変換
通常、QPainterはデバイス独自の座標系(通常はピクセル)で動作しますが、QPainterは座標変換を十分にサポートしています。
最もよく使われる変換は、拡大縮小、回転、平行移動、せん断です。座標系を与えられたオフセットだけ拡大縮小するにはscale() 関数を、時計回りに回転させるにはrotate() 関数を、平行移動(つまり、与えられたオフセットを点に加える)にはtranslate() 関数を使います。ま た、shear() 関数を使っ て、 座標系を原点ま わ り に捻 る こ と も で き ます。シ ェ ア座標系の視覚化については 「ア フ ァ イ ン変換」 の例を参照 し て く だ さ い。
変換がQPainter のグラフィックプリミティブのレンダリング方法にどのように影響するかを示すTransformations の例もご覧ください。特に、変換の順序が結果にどのように影響するかを示しています。
アフィン変換の例 アフィン変換の例では、Qt がペイント操作に対してアフィン変換を実行できることを示します。また、このデモでは、ユーザーが変換操作を試して、結果をすぐに確認することができます。 |
すべての変換操作は、変換worldTransform() に対して行われます。行列は、平面上の点を別の点に変換します。変換行列の詳細については、座標系と QTransform のドキュメントを参照してください。
setWorldTransform() 関数は、現在設定されているworldTransform() を置き換えたり、追加したりします。resetTransform() 関数は、translate(),scale(),shear(),rotate(),setWorldTransform(),setViewport(),setWindow() 関数を使用して行われた変換をすべてリセットします。deviceTransform() は、論理座標からプラットフォーム依存のペイントデバイスのデバイス座標に変換する行列を返します。後者の関数は、プラットフォーム依存のハンドルでプラットフォームのペイントコマンドを使用する場合にのみ必要で、プラットフォームはネイティブに変換を行いません。
QPainterで描画する場合、論理座標を使って点を指定し、それをペイントデバイスの物理座標に変換します。論理座標から物理座標へのマッピングは、QPainterのcombinedTransform ()、viewport ()、window ()、worldTransform ()の組み合わせで処理されます。viewport() は任意の矩形を指定する物理座標を表し、window() は同じ矩形を論理座標で記述し、worldTransform() は変換行列と同一です。
座標系も 参照。
クリッピング
QPainter は、任意の描画操作を矩形、領域、またはベクトルパスにクリップできます。現在のクリップは、関数clipRegion() とclipPath() で確認できます。パスとリージョンのどちらを優先するか(高速化するか)は、基盤となるpaintEngine() に依存します。たとえば、QImage のペイントエンジンはパスを優先し、X11 のペイントエンジンはリージョンを優先します。クリップの設定はペインターの論理座標で行われます。
QPainter がクリップした後、ペイントデバイスもクリップするかもしれません。例えば、ほとんどのウィジェットは子ウィジェットが使用するピクセルをクリップし、ほとんどのプリンタは用紙の端に近い領域をクリップします。この追加のクリッピングは、clipRegion() やhasClipping() の戻り値には反映されません。
合成モード
QPainter は、デジタル画像の合成に関する Porter-Duff 規則を定義するCompositionMode 列挙型を提供します。これは、ある画像(ソース)のピクセルと別の画像(デスティネーション)のピクセルを合成するモデルを記述したものです。
合成の最も一般的な2つの形式は、Source とSourceOver です。Source は、不透明なオブジェクトをペイントデバイスに描画するために使用されます。このモードでは、ソースの各ピクセルが、デスティネーションの対応するピクセルに置き換わります。SourceOver コンポジションモードでは、ソースオブジェクトは透明で、デスティネーションの上に描かれます。
コンポジション変換はピクセル単位で動作することに注意してください。そのため、グラフィックプリミティブそのものを使用する場合と、その境界矩形を使用する場合とでは違いがあります:外接矩形はアルファ== 0のピクセル(つまりプリミティブを囲むピクセル)を含みます。これらのピクセルは他の画像のピクセルを上書きし、効果的にそれらをクリアしますが、プリミティブはそれ自身の領域のみを上書きします。
合成モードの例 Qt の examples ディレクトリにあるComposition Modes の例では、さまざまな合成モードを試して、その結果をすぐに確認できます。 |
制限事項
Qt のラスターベースのペイントエンジンで座標を使用する場合、+/-215 を超える座標を使用することができますが、この範囲外の座標で実行されたペイントは表示されることが保証されないことに注意することが重要です。これは実装でshort int
を使用しているためです。
Qt のストローカーが生成するアウトラインは、曲線図形を扱う場合の近似に過ぎません。ベジェ曲線の輪郭を別のベジェ曲線の輪郭で表現することはほとんどの場合不可能であるため、Qt では複数の小さな曲線を用いて曲線の輪郭を近似しています。パフォーマンス上の理由から、Qtがこれらのアウトラインに使用する曲線の数には限界があり、そのため大きなペン幅やスケールを使用するとアウトラインの誤差が大きくなります。より小さな誤差でアウトラインを生成するには、QPainterPathStroker クラスを使用します。このクラスには setCurveThreshold メンバ関数があり、ユーザが誤差の許容範囲を指定できます。また、パスをポリゴンに変換してからポリゴンを描画する方法もあります。
パフォーマンス
QPainterは、グラデーション、コンポジションモード、ベクターグラフィックスなど、多種多様なグラフィック操作を可能にするリッチなフレームワークです。そしてQPainterは、さまざまな異なるハードウェアとソフトウェアスタックにわたってこれを行うことができます。当然のことながら、ハードウェアとソフトウェアの基本的な組み合わせは、パフォーマンスに何らかの影響を及ぼします。また、コンポジションモード、ブラシ、クリッピング、トランスフォームなどのさまざまな組み合わせのすべてにおいて、すべての操作が高速であることを保証することは、順列の数が多いため、不可能に近い作業です。妥協案として、私たちはQPainter APIとバックエンドのサブセットを選択しました。そこでは、与えられたハードウェアとソフトウェアの組み合わせに対して、賢明な範囲でパフォーマンスが保証されています。
高性能エンジンとして注目したバックエンドは以下の通りです:
- Raster - このバックエンドは、純粋なソフトウェアですべてのレンダリングを実装し、常にQImagesへのレンダリングに使用されます。最適なパフォーマンスを得るためには、QImage::Format_ARGB32_Premultiplied 、QImage::Format_RGB32 、QImage::Format_RGB16 のフォーマットタイプのみを使用してください。QImage::Format_ARGB32 を含むその他のフォーマットでは、パフォーマンスが著しく低下します。このエンジンは、デフォルトでQWidget とQPixmap に使用されます。
- OpenGL 2.0 (ES) - このバックエンドは、ハードウェア・アクセラレーテッド・グラ フィックスの主要なバックエンドです。OpenGL 2.0またはOpenGL/ES 2.0仕様をサポートするデスクトップマシンや組み込みデバイスで実行できます。これには、ここ数年で製造されたほとんどのグラフィックチップが含まれます。このエンジンは、QPainterをQOpenGLWidget 。
これらの操作は次のとおりです:
- 単純な変換、つまり平行移動と拡大縮小、それに0度、90度、180度、270度の回転。
drawPixmap()
単純変形と不透明度の組み合わせで、非平滑変形モード( レンダーヒントとして有効になっていない)。QPainter::SmoothPixmapTransform
- ベタ塗り、2 色線形グラデーション、単純変形による矩形塗りつぶし。
- 単純変形と交差クリップによる矩形クリッピング。
- コンポジションモード
QPainter::CompositionMode_Source
とQPainter::CompositionMode_SourceOver 。 - ベタ塗り と 2 色線形グラデ ン ト 塗 り を使っ た丸め長方形塗 り 。
- qDrawBorderPixmap を使った 3x3 パッチピクスマップ。
このリストは、パフォーマンスが重要なアプリケーションで、どの機能を安全に使用するかの目安になります。特定のセットアップでは、他の操作も高速かもしれませんが、それらを広範囲に使用する前に、最終的にソフトウェアが実行されるシステムでベンチマークして検証することをお勧めします。また、結果がQPixmap にキャッシュされている場合など、高価な演算を使用しても問題ない場合もあります。
QPaintDevice,QPaintEngine,Qt SVG,基本描画例,Drawing Utility Functionsも参照してください 。
メンバ型のドキュメント
enum QPainter::CompositionMode
デジタル画像合成でサポートされるモードを定義する。合成モードは、ある画像(ソース)のピクセルを、別の画像(デスティネーション)のピクセルとどのように合成するかを指定するために使われます。
RasterOp という接頭辞を持つビット単位のラスター演算モードは、X11 とラスターペイントエンジンでのみネイティブにサポートされていることに注意してください。つまり、Macでこれらのモードを利用するには、QImage 。 RasterOpで示されるブレンドモードは、アルファ成分を持つペンやブラシには対応していません。また、QPainter::Antialiasing レンダーヒントをオンにすると、RasterOpモードは事実上無効になります。
最も一般的なタイプは、ソースピクセルのアルファ成分がピクセルの半透明度を定義するように、ソースピクセルがデスティネーションピクセルの上にブレンドされるSourceOver(多くの場合、単にアルファブレンドと呼ばれる)です。
いくつかのコンポジションモードでは、効果を得るためにソース画像またはターゲット画像にアルファチャンネルが必要です。最適なパフォーマンスを得るには、画像フォーマットFormat_ARGB32_Premultiplied を使用することをお勧めします。
コンポジションモードが設定されると、すべてのペインティングオペレータ、ペン、ブラシ、グラデーション、およびピクセルマップ/画像描画に適用されます。
定数 | 値 | 説明 |
---|---|---|
QPainter::CompositionMode_SourceOver | 0 | これはデフォルトのモードです。描画元のアルファは、描画先の上にピクセルをブレンドするために使用されます。 |
QPainter::CompositionMode_DestinationOver | 1 | デスティネーションのアルファは、ソースピクセルの上にブレンドするために使用されます。このモードはCompositionMode_SourceOverの逆です。 |
QPainter::CompositionMode_Clear | 2 | デスティネーションのピクセルは、ソースとは無関係にクリアされます(完全に透明に設定されます)。 |
QPainter::CompositionMode_Source | 3 | 出力はソースピクセルです。(これは基本的なコピー操作を意味し、ソースピクセルが不透明な場合の SourceOver と同じです)。 |
QPainter::CompositionMode_Destination | 4 | 出力はデスティネーションピクセルです。これはブレンディングの効果がないことを意味します。このモードは CompositionMode_Source の逆です。 |
QPainter::CompositionMode_SourceIn | 5 | 出力はソースで、アルファはデスティネーションのアルファより小さくなります。 |
QPainter::CompositionMode_DestinationIn | 6 | 出力はデスティネーションで、アルファ値はソースのアルファ値によって減少します。このモードは CompositionMode_SourceIn の逆。 |
QPainter::CompositionMode_SourceOut | 7 | 出力はソースで、アルファ値はデスティネーションの逆数だけ減少する。 |
QPainter::CompositionMode_DestinationOut | 8 | 出力はデスティネーションで、アルファ値はソースの逆数だけ減少する。このモードは CompositionMode_SourceOut の逆です。 |
QPainter::CompositionMode_SourceAtop | 9 | ソースピクセルはデスティネーションピクセルの上にブレンドされ、ソースピクセルのアルファはデスティネーションピクセルのアルファの分だけ減少する。 |
QPainter::CompositionMode_DestinationAtop | 10 | デスティネーションピクセルはソースピクセルの上にブレンドされ、デスティネーションピクセルのアルファはデスティネーションピクセルのアルファによって減少される。このモードは CompositionMode_SourceAtop の逆です。 |
QPainter::CompositionMode_Xor | 11 | デスティネーションピクセルのアルファの逆数だけアルファが減少したソースは、ソースアルファの逆数だけアルファが減少したデスティネーションとマージされます。CompositionMode_Xor はビット単位の Xor とは異なります。 |
QPainter::CompositionMode_Plus | 12 | ソースピクセルとデスティネーションピクセルのアルファと色の両方が加算されます。 |
QPainter::CompositionMode_Multiply | 13 | 出力は、ソースカラーにデスティネーションカラーを掛けたものになります。ある色に白を掛けるとその色は変化せず、ある色に黒を掛けると黒になる。 |
QPainter::CompositionMode_Screen | 14 | ソースカラーとデスティネーションカラーは反転されてから乗算されます。色を白でスクリーニングすると白になり、黒でスクリーニングすると黒になる。 |
QPainter::CompositionMode_Overlay | 15 | デスティネーション・カラーに応じて、色を乗算またはスクリーニングします。デスティネーション・カラーはソース・カラーと混合され、デスティネーションの明暗を反映する。 |
QPainter::CompositionMode_Darken | 16 | ソースカラーとデスティネーションカラーの暗い方が選択されます。 |
QPainter::CompositionMode_Lighten | 17 | ソースカラーとデスティネーションカラーの明るい方が選択されます。 |
QPainter::CompositionMode_ColorDodge | 18 | デスティネーションカラーは、ソースカラーを反映して明るくなります。ソースカラーが黒の場合、デスティネーションカラーは変更されません。 |
QPainter::CompositionMode_ColorBurn | 19 | デスティネーションカラーは、ソースカラーを反映して暗くなります。ソースカラーが白の場合、デスティネーションカラーは変更されません。 |
QPainter::CompositionMode_HardLight | 20 | ソースカラーに応じて、色を乗算またはスクリーニングします。明るいソースカラーはデスティネーションカラーを明るくし、暗いソースカラーはデスティネーションカラーを暗くします。 |
QPainter::CompositionMode_SoftLight | 21 | ソースカラーに応じて、色を濃くしたり薄くしたりします。CompositionMode_HardLight に似ています。 |
QPainter::CompositionMode_Difference | 22 | 明るい色から暗い色を減算します。白で描画すると描画先の色が反転し、 黒で描画すると描画先の色は変更されません。 |
QPainter::CompositionMode_Exclusion | 23 | CompositionMode_Difference に似ていますが、コントラストが低くなります。白で描画すると描画先の色が反転し、黒で描画すると描画先の色は変更されません。 |
QPainter::RasterOp_SourceOrDestination | 24 | ソースピクセルとデスティネーションピクセルに対してビットごとの OR 演算を行います (src OR dst)。 |
QPainter::RasterOp_SourceAndDestination | 25 | ソースピクセルとデスティネーションピクセルに対してビット単位の AND 演算を行います (src AND dst)。 |
QPainter::RasterOp_SourceXorDestination | 26 | ソースピクセルとデスティネーションピクセルに対してビット単位のXOR演算を行います(src XOR dst)。 |
QPainter::RasterOp_NotSourceAndNotDestination | 27 | ソースピクセルとデスティネーションピクセルに対してビット単位のNOR演算を行います((NOT src) AND (NOT dst))。 |
QPainter::RasterOp_NotSourceOrNotDestination | 28 | ソースピクセルとデスティネーションピクセルに対してビット単位のNAND演算を行います((NOT src) OR (NOT dst))。 |
QPainter::RasterOp_NotSourceXorDestination | 29 | ソースピクセルを反転し、デスティネーションとXORするビット演算((NOT src) XOR dst)。 |
QPainter::RasterOp_NotSource | 30 | ソースピクセルを反転させるビット演算(NOT src)。 |
QPainter::RasterOp_NotSourceAndDestination | 31 | ソースピクセルを反転し、デスティネーションとANDするビット演算((NOT src) AND dst)。 |
QPainter::RasterOp_SourceAndNotDestination | 32 | ソースが反転されたデスティネーションピクセルとANDされるビット演算(src AND (NOT dst))。 |
QPainter::RasterOp_NotSourceOrDestination | 33 | ソースを反転し,デスティネーションとOR演算するビット演算((NOT src) OR dst). |
QPainter::RasterOp_ClearDestination | 35 | デスティネーションのピクセルは,ソースとは無関係にクリア(0にセット)される. |
QPainter::RasterOp_SetDestination | 36 | デスティネーションのピクセルは、ソースとは無関係にセットされる(1にセットされる)。 |
QPainter::RasterOp_NotDestination | 37 | デスティネーションのピクセルが反転される(NOT dst)ビット演算を行う. |
QPainter::RasterOp_SourceOrNotDestination | 34 | ソースと,反転されたデスティネーションのピクセルを OR する(src OR (NOT dst))ビット演算を行う. |
compositionMode(),setCompositionMode(),Composition Modes,画像合成の例も参照してください 。
enum QPainter::PixmapFragmentHint
flags QPainter::PixmapFragmentHints.
定数 | 値 | 説明 |
---|---|---|
QPainter::OpaqueHint | 0x01 | 描画される pixmap フラグメントが不透明であることを示します。不透明な断片は描画が速くなる可能性があります。 |
PixmapFragmentHints 型はQFlags<PixmapFragmentHint> の typedef です。PixmapFragmentHint 値の OR の組み合わせを格納します。
QPainter::drawPixmapFragments() およびQPainter::PixmapFragmentも参照してください 。
enum QPainter::RenderHint
flags QPainter::RenderHints
レンダリングヒントはQPainter にフラグを指定するために使われます。
定数 | 値 | 説明 |
---|---|---|
QPainter::Antialiasing | 0x01 | 可能であれば、エンジンがプリミティブのエッジをアンチエイリアスすることを示します。 |
QPainter::TextAntialiasing | 0x02 | テ キ ス ト に対 し て可能な限 り ア ン タ イ ア ス をかけ る こ と を指定 し ます。テキストのアンチエイリアスを強制的に無効にするには、このヒントを使用しないでください。代わりに、フォントのスタイルストラテジーでQFont::NoAntialias を設定してください。 |
QPainter::SmoothPixmapTransform | 0x04 | テキス ト を、 可能な限 り テ キ ス ト のア ン チ ア リ ア ス を強制的に無効にす る には、 こ の ヒ ン ト は使用 し ないで く だ さ い。 |
QPainter::VerticalSubpixelPositioning | 0x08 | テキス ト を水平方向だけでな く 垂直方向にも ピ ク セル単位で配置で き る よ う に し ます (フ ォ ン ト エ ン ジ ン で対応 し てい る 場合)。こ れは現在、 すべてのプ ラ ッ ト フ ォーム上で、 ヒ ン テ ィ ン グ環境設定がQFont::PreferNoHinting の と き に Freetype でサポー ト さ れてお り 、 macOS でもサポー ト さ れてい ます。たいていの場合、 こ れに よ っ て視覚的な品質が向上す る こ と はあ り ませんが、 メ モ リ 消費が増加 し 、 テ キ ス ト 描画パフ ォーマ ン ス が若干低下す る 可能性があ り ます。したがって、ユースケースで必要とされない限り、これを有効にすることは推奨されません。そのようなユースケースの一つは、グリフを他のビジュアルプリミティブと整列させることです。この値は Qt 6.1 で追加されました。 |
QPainter::LosslessImageRendering | 0x40 | 可能な限り、ロスレス画像レンダリングを使用する。現在のところ、このヒントはQPainter がQPrinter またはQPdfWriter を通して PDF ファイルを出力するときにのみ使用されます。drawImage()/drawPixmap() を呼び出すと、非可逆 JPEG 圧縮ではなく、可逆圧縮アルゴリズムを使って画像がエンコードされます。この値は Qt 5.13 で追加されました。 |
QPainter::NonCosmeticBrushPatterns | 0x80 | 定義済みのパターン・スタイルの 1 つを持つブラシでペイントする場合、ペイントされるオブジェクトと一緒にパターンも変換します。デフォルトでは、パターンを化粧品として扱い、アクティブな変換とは無関係に、パターンのピクセルがデバイスのピクセルに直接マッピングされます。この値は Qt 6.4 で追加されました。 |
RenderHints 型はQFlags<RenderHint> の typedef です。これは、RenderHint値のORの組み合わせを格納します。
renderHints(),setRenderHint(),Rendering Qualityも参照してください 。
メンバ関数ドキュメント
QPainter::QPainter()
ペインターを構築します。
[explicit]
QPainter::QPainter(QPaintDevice *device)
すぐにペイントdevice のペイントを開始するペインターを構築します。
このコンストラクタは、QWidget::paintEvent() などの短命のペインターに便利で、一度だけ使用する必要があります。コンストラクタはbegin() を呼び、QPainter のデストラクタは自動的にend() を呼びます。
void MyWidget::paintEvent(QPaintEvent *) { QPainter p; p.begin(this); p.drawLine(drawingCode); // drawing code p.end(); }
このコンストラクタを使った同じ例:
void MyWidget::paintEvent(QPaintEvent *) { QPainter p(this); p.drawLine(drawingCode); // drawing code }
コンストラクタはペインターの初期化に失敗したときのフィードバックを提供できないので、外部デバイス、例えばプリンタにペイントするには、むしろbegin() とend() を使うべきです。
[noexcept]
QPainter::~QPainter()
ペインターを破棄します。
const QBrush &QPainter::background() const
現在の背景ブラシを返します。
setBackground() およびSettings も参照して ください。
Qt::BGMode QPainter::backgroundMode() const
現在の背景モードを返します。
setBackgroundMode() およびSettingsも参照して ください。
bool QPainter::begin(QPaintDevice *device)
false
ペイントdevice のペイントを開始し、成功すればtrue
を返します。
すべてのペインター設定 (setPen(),setBrush() など) は、begin() が呼ばれるとデフォルト値にリセットされることに注意。
発生する可能性のあるエラーは、以下のような深刻な問題です:
painter->begin(0); // impossible - paint device cannot be 0 QPixmap image(0, 0); painter->begin(&image); // impossible - image.isNull() == true; painter->begin(myWidget); painter2->begin(myWidget); // impossible - only one painter at a time
ほとんどの場合、begin() の代わりにコンストラクタのいずれかを使用でき、end() は破棄時に自動的に実行されることに注意してください。
警告 ペイント・デバイスは一度に一人のペインターしかペイントできません。
警告 QImage::Format_Indexed8 形式のQImage へのペイントはサポートされていません。
end() およびQPainter()も参照して ください。
void QPainter::beginNativePainting()
ペインティングパイプラインをフラッシュし、ユーザーが基礎となるグラフィックスコンテキストに直接コマンドを発行できるように準備します。その後にendNativePainting() を呼び出す必要があります。
基礎となるペイントエンジンが変更した状態のみが、それぞれのデフォルト状態にリセットされることに注意してください。リセットされる状態は、リリースごとに変わる可能性があります。現在、OpenGL 2エンジンでは以下の状態がリセットされます:
- ブレンドは無効です。
- 深度、ステンシル、シザーのテストが無効になります。
- アクティブなテクスチャ ユニットは 0 にリセットされます。
- デプス マスク、デプス関数、およびクリア デプスがデフォルト値にリセットされます。
- ステンシルマスク、ステンシル操作、およびステンシル機能がデフォルト値にリセットされます。
- 現在の色が白無地にリセットされます。
例えば、beginNativePaint()/endNativePainting()ブロック内でOpenGLポリゴンモードがユーザーによって変更された場合、endNativePainting()によってデフォルト状態にリセットされることはありません。ペインターコマンドと生のOpenGLコマンドが混在している例を示します:
QPainter painter(this); painter.fillRect(0, 0, 128, 128, Qt::green); painter.beginNativePainting(); glEnable(GL_SCISSOR_TEST); glScissor(0, 0, 64, 64); glClearColor(1, 0, 0, 1); glClear(GL_COLOR_BUFFER_BIT); glDisable(GL_SCISSOR_TEST); painter.endNativePainting();
endNativePainting()も参照してください 。
QRectF QPainter::boundingRect(const QRectF &rectangle, int flags, const QString &text)
現在設定されているfont() を用いて、指定されたflags で、指定されたrectangle の内側に描画されたときに表示されるtext の外接矩形を返します; つまり、この関数は、同じ引数が与えられたときにdrawText() 関数が描画する場所を教えてくれます。
指定されたflags を用いて、指定されたrectangle 内にtext が収まらない場合、関数は必要な矩形を返します。
引数flags は、以下のフラグのビット OR です:
- Qt::AlignLeft
- Qt::AlignRight
- Qt::AlignHCenter
- Qt::AlignTop
- Qt::AlignBottom
- Qt::AlignVCenter
- Qt::AlignCenter
- Qt::TextSingleLine
- Qt::TextExpandTabs
- Qt::TextShowMnemonic
- Qt::TextWordWrap
- Qt::TextIncludeTrailingSpaces
複数の水平アライメントフラグまたは複数の垂直アライメントフラグが設定されている場合,結果のアライメントは未定義である。
drawText()、Qt::Alignment 、およびQt::TextFlagも参照のこと 。
QRect QPainter::boundingRect(const QRect &rectangle, int flags, const QString &text)
これはオーバーロードされた関数です。
現在設定されているfont() を使って、指定されたflags で、指定されたrectangle の内側に描画されたときに表示されるtext の外接矩形を返します。
QRectF QPainter::boundingRect(const QRectF &rectangle, const QString &text, const QTextOption &option = QTextOption())
これはオーバーロードされた関数です。
フラグをQt::AlignmentFlag とQt::TextFlag のビット OR で指定する代わりに、このオーバーロード関数はoption 引数を取ります。QTextOption クラスは、一般的なリッチテキストプロパティの説明を提供します。
QTextOptionも参照してください 。
QRect QPainter::boundingRect(int x, int y, int w, int h, int flags, const QString &text)
これはオーバーロードされた関数です。
与えられたtext の外接矩形を、点 (x,y) で始まる矩形の内側に幅w と高さh で描画されたときに表示されるように返します。
const QBrush &QPainter::brush() const
ペインターの現在のブラシを返します。
QPainter::setBrush() およびSettingsも参照してください 。
QPoint QPainter::brushOrigin() const
現在設定されているブラシの原点を返します。
setBrushOrigin() およびSettingsも参照 。
QRectF QPainter::clipBoundingRect() const
クリップが存在する場合は、現在のクリップの外接矩形を返します。ク リ ッ プ領域は論理座標で与え ら れ る こ と に留意 し て く だ さ い。
外接矩形はタイトであることは保証されません。
setClipRect(),setClipPath(),setClipRegion()も参照 。
QPainterPath QPainter::clipPath() const
現在のクリップパスを論理座標で返します。
警告: QPainter は,結合されたクリップを明示的に保存しません.これは,基礎となるQPaintEngine が処理するためです.これは高価な操作になる可能性があります。
setClipPath(),clipRegion(),setClipping()も参照 。
QRegion QPainter::clipRegion() const
現在設定されているクリップ領域を返します。クリップ領域は論理座標で与えられることに注意してください。
警告: QPainter は、結合されたクリップを明示的に保存しません。これは、基礎となるQPaintEngine によって処理されるためです。これは高価な操作になる可能性があります。
setClipRegion(),clipPath(),setClipping()も参照してください .
QTransform QPainter::combinedTransform() const
現在のウィンドウ/ビューポートとワールド変換を組み合わせた変換行列を返します。
setWorldTransform()、setWindow()、setViewport()も参照 。
QPainter::CompositionMode QPainter::compositionMode() const
現在の合成モードを返します。
CompositionMode およびsetCompositionMode() も参照して ください。
QPaintDevice *QPainter::device() const
このペインターが現在ペイントしているペイントデバイスを返します。ペインターがアクティブでない場合はnullptr
を返します。
isActive()も参照して ください。
const QTransform &QPainter::deviceTransform() const
論理座標からプラットフォーム依存のペイントデバイスのデバイス座標に変換する行列を返します。
この関数は、プラットフォーム依存のハンドル (Qt::HANDLE) でプラットフォームのペイントコマンドを使用し、プラットフォームがネイティブに変換を行わない場合にのみ必要です。
QPaintEngine::PaintEngineFeature enum を照会することで、プラットフォームが変換を行うかどうかを決定することができます。
worldTransform() およびQPaintEngine::hasFeature()も参照 。
void QPainter::drawArc(const QRectF &rectangle, int startAngle, int spanAngle)
与えられたrectangle 、startAngle 、spanAngle で定義された円弧を描画します。
startAngle およびspanAngle は、1/16 度単位で指定する必要があります。つまり、完全な円は 5760 (16 * 360) に相当します。角度の正の値は反時計回りを意味し、負の値は時計回りを意味する。0度は3時の位置である。
drawPie(),drawChord(),座標系も参照 。
void QPainter::drawArc(const QRect &rectangle, int startAngle, int spanAngle)
これはオーバーロードされた関数です。
指定されたrectangle 、startAngle 、spanAngle で定義された円弧を描画します。
void QPainter::drawArc(int x, int y, int width, int height, int startAngle, int spanAngle)
これはオーバーロードされた関数です。
(x,y) で始まる矩形と、指定されたwidth とheight 、および指定されたstartAngle とspanAngle によって定義される円弧を描画します。
void QPainter::drawChord(const QRectF &rectangle, int startAngle, int spanAngle)
与えられたrectangle,startAngle およびspanAngle で定義されるコードを描画します。このコードは、現在のbrush() で塗りつぶされます。
startAngleとspanAngleは1/16度で指定しなければならない。角度の正の値は反時計回りを意味し、負の値は時計回りを意味する。0度は3時の位置である。
void QPainter::drawChord(const QRect &rectangle, int startAngle, int spanAngle)
これはオーバーロードされた関数です。
与えられたrectangle 、startAngle 、spanAngle で定義されたコードを描画します。
void QPainter::drawChord(int x, int y, int width, int height, int startAngle, int spanAngle)
これはオーバーロードされた関数です。
(x,y) で始まる矩形と、指定されたwidth とheight 、および指定されたstartAngle とspanAngle で定義されるコードを描画します。
void QPainter::drawConvexPolygon(const QPointF *points, int pointCount)
現在のペンを使って、配列points の最初のpointCount 点で定義される凸多角形を描画します。
最初の点は暗黙のうちに最後の点に接続され、多角形は現在のbrush() で塗りつぶされます。与えられた多角形が凸でない場合、つまり180度より大きな角度を少なくとも1つ含む場合、結果は未定義です。
プラットフォームによっては (X11 など)、drawConvexPolygon() 関数の方がdrawPolygon() 関数よりも高速な場合があります。
drawPolygon(),drawPolyline(),Coordinate Systemも参照してください 。
void QPainter::drawConvexPolygon(const QPolygon &polygon)
これはオーバーロードされた関数です。
現在のペンとブラシを使用して、polygon で定義された凸多角形を描画します。
void QPainter::drawConvexPolygon(const QPolygonF &polygon)
これはオーバーロードされた関数です。
現在のペンとブラシを使用して、polygon で定義された凸多角形を描画します。
void QPainter::drawConvexPolygon(const QPoint *points, int pointCount)
これはオーバーロードされた関数です。
現在のペンを使って、配列points の最初のpointCount 点で定義される凸多角形を描画します。
void QPainter::drawEllipse(const QRectF &rectangle)
与えられたrectangle で定義される楕円を描画します。
size塗りつぶされた楕円のサイズはrectangle です。描線された楕円のサイズは、rectangle.size() にペン幅を加えたものになります。
drawPie() およびCoordinate Systemも参照してください 。
void QPainter::drawEllipse(const QRect &rectangle)
これはオーバーロードされた関数です。
与えられたrectangle で定義された楕円を描画する。
void QPainter::drawEllipse(const QPoint ¢er, int rx, int ry)
これはオーバーロードされた関数です。
半径rx とry でcenter に配置された楕円を描画します。
void QPainter::drawEllipse(const QPointF ¢er, qreal rx, qreal ry)
これはオーバーロードされた関数です。
半径rx とry を持つcenter に位置する楕円を描画します。
void QPainter::drawEllipse(int x, int y, int width, int height)
これはオーバーロードされた関数です。
(x,y) で始まる矩形で定義される楕円を、与えられたwidth とheight で描画します。
void QPainter::drawGlyphRun(const QPointF &position, const QGlyphRun &glyphs)
glyphs で表されるグリフをposition に描画します。position は、 グ リ フ の文字列のベース ラ イ ンの端を与え ます。グリフはglyphs で選択されたフォントから、glyphs の位置で与えられたオフセットで取得されます。
QGlyphRun::setRawFont(),QGlyphRun::setPositions(),QGlyphRun::setGlyphIndexes()も参照 。
void QPainter::drawImage(const QRectF &target, const QImage &image, const QRectF &source, Qt::ImageConversionFlags flags = Qt::AutoColor)
与えられたimage の矩形部分source を、ペイントデバイスのtarget の矩形に描画します。
注意 : 画像と矩形のサイズが不一致の場合、画像は矩形に合わせて拡大縮小されます。
注意: これがQImage::devicePixelRatio() によってどのように影響されるかについては、Drawing High Resolution Versions of Pixmaps and Images を参照してください。
低解像度の結果に収まるように画像を修正する必要がある場合(32ビットから8ビットへの変換など)、flags を使って、どのようにしたいかを指定してください。
drawPixmap() およびQImage::devicePixelRatio()も参照 。
void QPainter::drawImage(const QPoint &point, const QImage &image)
これはオーバーロードされた関数です。
指定されたimage を指定されたpoint に描画します。
void QPainter::drawImage(const QPointF &point, const QImage &image)
これはオーバーロードされた関数です。
与えられたimage を、与えられたpoint に描画します。
void QPainter::drawImage(const QRect &rectangle, const QImage &image)
これはオーバーロードされた関数です。
与えられたimage を、与えられたrectangle に描画します。
注意: 画像と矩形のサイズが一致しない場合、画像は矩形に合わせて拡大縮小されます。
void QPainter::drawImage(const QRectF &rectangle, const QImage &image)
これはオーバーロードされた関数です。
与えられたimage を,与えられたrectangle に描画します.
注意: 画像と矩形サイズの両方が不一致の場合、画像は矩形に合うようにスケーリングされます。
void QPainter::drawImage(const QPoint &point, const QImage &image, const QRect &source, Qt::ImageConversionFlags flags = Qt::AutoColor)
これはオーバーロードされた関数です。
与えられたimage の矩形部分source を、与えられたpoint を原点として描画します。
void QPainter::drawImage(const QPointF &point, const QImage &image, const QRectF &source, Qt::ImageConversionFlags flags = Qt::AutoColor)
これはオーバーロードされた関数です。
与えられたimage の矩形部分source を、与えられたpoint を原点として描画します。
void QPainter::drawImage(const QRect &target, const QImage &image, const QRect &source, Qt::ImageConversionFlags flags = Qt::AutoColor)
これはオーバーロードされた関数です。
与えられたimage の矩形部分source を、ペイントデバイスのtarget 矩形に描画します。
注意: 画像と矩形のサイズが不一致の場合、画像は矩形に合うように拡大縮小されます。
void QPainter::drawImage(int x, int y, const QImage &image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor)
これはオーバーロードされた関数です。
image の一部をペ イ ン ト デバ イ ス に コ ピーす る こ と に よ っ て、 (x,y) に画像を描画 し ます。
(x,y) は、描画するペイントデバイスの左上の点を指定します。(sx,sy) は、描画するimage の左上点を指定します。デフォルトは (0, 0) です。
(sw,sh) は、描画する画像のサイズを指定します。デフォルトの(0, 0)(およびマイナス)は、画像の右下までを意味する。
void QPainter::drawLine(const QLineF &line)
line で定義された線を描画します。
drawLines()、drawPolyline()、Coordinate Systemも参照 。
void QPainter::drawLine(const QLine &line)
これはオーバーロードされた関数です。
line で定義された線を描画します。
void QPainter::drawLine(const QPoint &p1, const QPoint &p2)
これはオーバーロードされた関数です。
p1 からp2 までの線を描画する。
void QPainter::drawLine(const QPointF &p1, const QPointF &p2)
これはオーバーロードされた関数です。
p1 からp2 までの線を描画します。
void QPainter::drawLine(int x1, int y1, int x2, int y2)
これはオーバーロードされた関数です。
(x1,y1) から (x2,y2) までの線を描画する。
void QPainter::drawLines(const QLineF *lines, int lineCount)
現在のペンを使って、配列lines 内の最初のlineCount 行を描画します。
drawLine() およびdrawPolyline()も参照 。
void QPainter::drawLines(const QList<QLine> &lines)
これはオーバーロードされた関数です。
現在のペンとブラシを使用して、リストlines で定義された線の集合を描画します。
void QPainter::drawLines(const QList<QLineF> &lines)
これはオーバーロードされた関数です。
現在のペンとブラシを使用して、リストlines で定義された線のセットを描画します。
void QPainter::drawLines(const QList<QPoint> &pointPairs)
これはオーバーロードされた関数です。
現在のペンを使って、ベクトルpointPairs 内の点のペアごとに線を描画します。
void QPainter::drawLines(const QList<QPointF> &pointPairs)
これはオーバーロードされた関数です。
現在のペンを使って、ベクトルpointPairs 内の点のペアごとに線を描画します。配列内の点の数が奇数の場合、最後の点は無視されます。
void QPainter::drawLines(const QLine *lines, int lineCount)
これはオーバーロードされた関数です。
現在のペンを使用して、配列lines の最初のlineCount 行を描画します。
void QPainter::drawLines(const QPoint *pointPairs, int lineCount)
これはオーバーロードされた関数です。
現在のペンを使用して、配列pointPairs の最初のlineCount 行を描画します。
void QPainter::drawLines(const QPointF *pointPairs, int lineCount)
これはオーバーロードされた関数です。
現在のペンを使用して、配列pointPairs の最初のlineCount 行を描画します。線は点のペアとして指定されるので、pointPairs のエントリ数は少なくともlineCount * 2 でなければならない。
void QPainter::drawPath(const QPainterPath &path)
与えられたペインターpath を、アウトラインには現在のペンを、塗りつぶしには現在のブラシを使って描画します。
QPainterPath path; path.moveTo(20, 80); path.lineTo(20, 30); path.cubicTo(80, 0, 50, 50, 80, 80); QPainter painter(this); painter.drawPath(path); |
Painter Paths の例と Vector Deformation の例も参照して ください。
void QPainter::drawPicture(const QPointF &point, const QPicture &picture)
与えられたpicture を、与えられたpoint で再生します。
QPicture クラスは、QPainter コマンドを記録して再生するペイントデバイスです。ピクチャは、ペインタコマンドをプラットフォームに依存しない形式で IO デバイスにシリアライズします。ウィジェットや pixmap に描画できるものはすべて、ピクチャに格納することもできます。
この関数は、point =QPointF(0, 0) で呼び出されたとき、QPicture::play() とまったく同じ動作をします。
注意: ペインターの状態は、この関数によって保持されます。
QPicture::play()も参照してください 。
void QPainter::drawPicture(const QPoint &point, const QPicture &picture)
これはオーバーロードされた関数です。
与えられたpicture を、与えられたpoint で再生する。
void QPainter::drawPicture(int x, int y, const QPicture &picture)
これはオーバーロードされた関数です。
与えられたpicture を点 (x,y) に描画します。
void QPainter::drawPie(const QRectF &rectangle, int startAngle, int spanAngle)
与えられたrectangle 、startAngle 、spanAngle で定義されるパイを描画します。
パイは現在のbrush() で満たされます。
startAngle と spanAngle は 1/16 度単位で指定しなければならない。角度の正の値は反時計回りを意味し、負の値は時計回りを意味する。0度は3時の位置である。
drawEllipse(),drawChord(),座標系も参照 。
void QPainter::drawPie(const QRect &rectangle, int startAngle, int spanAngle)
これはオーバーロードされた関数です。
指定されたrectangle 、startAngle およびspanAngle で定義されたパイを描画します。
void QPainter::drawPie(int x, int y, int width, int height, int startAngle, int spanAngle)
これはオーバーロードされた関数です。
(x,y) で始まる矩形と、指定されたwidth とheight 、および指定されたstartAngle とspanAngle で定義されるパイを描画します。
void QPainter::drawPixmap(const QRectF &target, const QPixmap &pixmap, const QRectF &source)
与えられたpixmap の矩形部分source を、ペイントデバイス内の与えられたtarget に描画します。
注: pixmap と矩形のサイズが不一致の場合、矩形に合うように pixmap が拡大縮小されます。
注: QPixmap::devicePixelRatio() による影響についてはDrawing High Resolution Versions of Pixmaps and Images を参照。
pixmap がQBitmap の場合、ペンの色を使用して「設定」されたビットで描画されます。backgroundMode がQt::OpaqueMode の場合、「設定されていない」ビットは背景ブラシの色を使って描画されます。backgroundMode がQt::TransparentMode の場合、「設定されていない」ビットは透明になります。グラデーションカラーやテクスチャカラーでのビットマップの描画はサポートされていません。
drawImage() およびQPixmap::devicePixelRatio()も参照 。
void QPainter::drawPixmap(const QPoint &point, const QPixmap &pixmap)
これはオーバーロードされた関数です。
与えられたpoint を原点として、与えられたpixmap を描画します。
void QPainter::drawPixmap(const QPointF &point, const QPixmap &pixmap)
これはオーバーロードされた関数です。
与えられたpixmap を、与えられたpoint を原点として描画します。
void QPainter::drawPixmap(const QRect &rectangle, const QPixmap &pixmap)
これはオーバーロードされた関数です。
与えられたpixmap を、与えられたrectangle に描画します。
注意: pixmap と矩形のサイズが一致しない場合、矩形に合わせて pixmap が拡大縮小されます。
void QPainter::drawPixmap(const QPoint &point, const QPixmap &pixmap, const QRect &source)
これはオーバーロードされた関数です。
与えられたpixmap の矩形部分source を,与えられたpoint を原点として描画します.
void QPainter::drawPixmap(const QPointF &point, const QPixmap &pixmap, const QRectF &source)
これはオーバーロードされた関数です。
与えられたpixmap の矩形部分source を、与えられたpoint を原点として描画します。
void QPainter::drawPixmap(const QRect &target, const QPixmap &pixmap, const QRect &source)
これはオーバーロードされた関数です。
与えられたpixmap の矩形部分source を、ペイントデバイス内の与えられたtarget に描画します。
注意: pixmap と矩形のサイズが不一致の場合、 pixmap は矩形に合わせて拡大縮小されます。
void QPainter::drawPixmap(int x, int y, const QPixmap &pixmap)
これはオーバーロードされた関数です。
与えられたpixmap を位置 (x,y) に描画します。
void QPainter::drawPixmap(int x, int y, int width, int height, const QPixmap &pixmap)
これはオーバーロードされた関数です。
pixmap を、与えられたwidth とheight を用いて、位置 (x,y) の矩形に描画します。
void QPainter::drawPixmap(int x, int y, const QPixmap &pixmap, int sx, int sy, int sw, int sh)
これはオーバーロードされた関数です。
与えられたpixmap の一部をペイントデバイスにコピーして、 (x,y) に pixmap を描画します。
(x,y) は、描画するペイントデバイスの左上の点を指定します。(sx,sy) は、描画されるpixmap の左上点を指定します。デフォルトは (0, 0) です。
(sw,sh) は、描画する pixmap のサイズを指定します。デフォルトの(0, 0)(および負の値)は、pixmapの右下までを意味する。
void QPainter::drawPixmap(int x, int y, int w, int h, const QPixmap &pixmap, int sx, int sy, int sw, int sh)
これはオーバーロードされた関数である。
与えられたpixmap の原点 (sx,sy), 幅sw, 高さsh を持つ矩形部分を、点 (x,y) に、幅w, 高さh で描画します。 sw または sh がゼロに等しい場合、pixmap の幅/高さが使用され、オフセット sx/sy で調整されます;
void QPainter::drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap, QPainter::PixmapFragmentHints hints = PixmapFragmentHints())
この関数は、pixmap 、またはpixmap のサブ矩形を、異なるスケール、回転、不透明度で複数の位置に描画するために使用します。fragments は、fragmentCount 要素の配列で、各 pixmap 断片の描画に使用するパラメータを指定します。hints パラメータは、描画ヒントを渡すために使用できます。
この関数は、drawPixmap()を複数回呼び出すよりも高速になる可能性がある。なぜなら、バックエンドは状態変更を最適化できるからである。
QPainter::PixmapFragment およびQPainter::PixmapFragmentHintも参照してください 。
void QPainter::drawPoint(const QPointF &position)
現在のペンの色を使用して、与えられたposition に 1 つの点を描画します。
座標系も参照してください 。
void QPainter::drawPoint(const QPoint &position)
これはオーバーロードされた関数です。
現在のペンの色を使用して、指定されたposition に一点を描画する。
void QPainter::drawPoint(int x, int y)
これはオーバーロードされた関数です。
位置 (x,y) に一点を描画します。
void QPainter::drawPoints(const QPointF *points, int pointCount)
現在のペンの色を使用して、配列points の最初のpointCount ポイントを描画します。
座標系も参照してください 。
void QPainter::drawPoints(const QPolygon &points)
これはオーバーロードされた関数です。
ベクトルpoints の点を描画します。
void QPainter::drawPoints(const QPolygonF &points)
これはオーバーロードされた関数です。
ベクトルpoints の点を描画します。
void QPainter::drawPoints(const QPoint *points, int pointCount)
これはオーバーロードされた関数です。
現在のペンの色を使用して、配列points 内の最初の点pointCount を描画します。
void QPainter::drawPolygon(const QPointF *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill)
現在のペンとブラシを使って、配列points の最初の点pointCount で定義される多角形を描画します。
最初の点は最後の点と暗黙的に接続され、多角形は現在のbrush() で塗りつぶされる。
fillRule がQt::WindingFill の場合、多角形は巻線塗りつぶしアルゴリズムを使って塗りつぶされます。fillRule がQt::OddEvenFill の場合、多角形は奇偶塗り潰しアルゴリズムを使って塗り潰される。これらの塗りつぶしルールの詳細についてはQt::FillRule を参照。
drawConvexPolygon ()、drawPolyline ()、および座標系も参照してください 。
void QPainter::drawPolygon(const QPolygon &points, Qt::FillRule fillRule = Qt::OddEvenFill)
これはオーバーロードされた関数です。
与えられたpoints で定義された多角形を、塗りつぶしルールfillRule を用いて描画します。
void QPainter::drawPolygon(const QPolygonF &points, Qt::FillRule fillRule = Qt::OddEvenFill)
これはオーバーロードされた関数です。
塗りつぶしルールfillRule を使用して、与えられたpoints で定義された多角形を描画します。
void QPainter::drawPolygon(const QPoint *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill)
これはオーバーロードされた関数です。
配列points の最初のpointCount 点で定義される多角形を描画します。
void QPainter::drawPolyline(const QPointF *points, int pointCount)
現在のペンを使用して、points の最初のpointCount 点で定義される多角形を描画します。
drawPolygon() 関数とは異なり、最後の点は最初の点に接続されず、ポリラインも塗りつぶされないことに注意してください。
drawLines(),drawPolygon(),Coordinate Systemも参照 。
void QPainter::drawPolyline(const QPolygon &points)
これはオーバーロードされた関数です。
現在のペンを使用して、与えられたpoints で定義されたポリラインを描画します。
void QPainter::drawPolyline(const QPolygonF &points)
これはオーバーロードされた関数です。
現在のペンを使用して、指定されたpoints によって定義されたポリラインを描画します。
void QPainter::drawPolyline(const QPoint *points, int pointCount)
これはオーバーロードされた関数です。
現在のペンを使用して、points の最初のpointCount ポイントによって定義されるポリラインを描画します。
void QPainter::drawRect(const QRectF &rectangle)
現在のペンとブラシを使って、現在のrectangle を描画します。
塗りつぶされた矩形のサイズはrectangle.size()です。描線された矩形のサイズは、rectangle.size() にペン幅を加えたものになります。
drawRects(),drawPolygon(),Coordinate Systemも参照してください 。
void QPainter::drawRect(const QRect &rectangle)
これはオーバーロードされた関数です。
現在のペンとブラシで現在のrectangle を描画します。
void QPainter::drawRect(int x, int y, int width, int height)
これはオーバーロードされた関数です。
左上隅を (x,y) とし、指定されたwidth とheight で矩形を描画します。
void QPainter::drawRects(const QRectF *rectangles, int rectCount)
現在のペンとブラシを使って、与えられたrectangles の最初のrectCount を描画します。
drawRect()も参照してください 。
void QPainter::drawRects(const QList<QRect> &rectangles)
これはオーバーロードされた関数です。
現在のペンとブラシを使って、与えられたrectangles を描画します。
void QPainter::drawRects(const QList<QRectF> &rectangles)
これはオーバーロードされた関数です。
現在のペンとブラシを使用して、指定されたrectangles を描画します。
void QPainter::drawRects(const QRect *rectangles, int rectCount)
これはオーバーロードされた関数です。
現在のペンとブラシを使用して、与えられたrectangles の最初のrectCount を描画します。
void QPainter::drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize)
与えられた矩形rect を角丸で描画します。
引数xRadius とyRadius は、角丸矩形の角を定義する楕円の半径を指定します。mode がQt::RelativeSize のとき、xRadius とyRadius は、それぞれ矩形の幅と高さの半分のパーセンテージで指定され、0.0 から 100.0 の範囲でなければなりません。
塗りつぶされた矩形のサイズは rect.size() です。描線された矩形は、rect.size() のサイズにペン幅を加えたサイズになります。
void QPainter::drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize)
これはオーバーロードされた関数です。
与えられた矩形rect を角丸で描画します。
void QPainter::drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize)
これはオーバーロードされた関数です。
与えられた矩形x,y,w,h を角丸で描画します。
void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText &staticText)
与えられたstaticText を与えられたtopLeftPosition に描画します。
テキストは、ペインタに設定されたフォントと変換を使用して描画されます。ペインタに設定されたフォントおよび/または変換が、QStaticText のレイアウトを初期化するために使用されたものと異なる場合は、レイアウトを再計算する必要があります。QStaticText::prepare() を使って、staticText を、後に描画されるフォントと変換で初期化してください。
topLeftPosition がstaticText が初期化されたとき、または最後に描画されたときと同じでない場合、テキストを新しい位置に変換するときに若干のオーバーヘッドが発生します。
注意: ペインターの変換がアフィン変換でない場合、staticText はdrawText() への通常の呼び出しを使用して描画され、パフォーマンス向上の可能性は失われます。
注意 : y-position は、 フ ォ ン ト の上端 と し て用い ら れます。
QStaticTextも参照してください 。
void QPainter::drawStaticText(const QPoint &topLeftPosition, const QStaticText &staticText)
これはオーバーロードされた関数です。
topLeftPosition の位置にstaticText を描画します。
注意 : y-position はフォントの上端として使用されます。
void QPainter::drawStaticText(int left, int top, const QStaticText &staticText)
これはオーバーロードされた関数です。
座標left とtop にstaticText を描画します。
注意 : y-position はフォントの上端として使用されます。
void QPainter::drawText(const QPointF &position, const QString &text)
与えられたtext を、与えられたposition を始点として、現在定義されているテキスト方向で描画します。
この関数はテキストを複数行に分割できないため、改行文字( \n) を処理しません。改行文字を含む複数行のテキストを描画したい場合や、テキストを折り返したい場合は、代わりに矩形を 取る QPainter::drawText() オーバーロードを使用してください。
デフォルトでは、QPainter はテキストをアンチエイリアスで描画します。
注: y-position はフォントのベースラインとして使われます。
void QPainter::drawText(const QPoint &position, const QString &text)
これはオーバーロードされた関数です。
与えられたtext を、現在定義されているテキスト方向で、与えられたposition から描画します。
デフォルトでは、QPainter はテキストをアンチエイリアスで描画します。
注意 : y-position は、 フ ォ ン ト のベース ラ イ ン と し て用い ら れます。
void QPainter::drawText(const QRectF &rectangle, const QString &text, const QTextOption &option = QTextOption())
これはオーバーロードされた関数です。
与えられたtext を、option を使って指定されたrectangle に描画し、その位置、方向、向きを制御します。option で与えられたオプションは、QPainter オブジェクト自体に設定されたものを上書きします。
デフォルトでは、QPainter はテキストをアンチエイリアスで描画します。
注意: rectangle の y 座標がフォントの上端として使われます。
setFont() およびsetPen()も参照してください 。
void QPainter::drawText(int x, int y, const QString &text)
これはオーバーロードされた関数です。
与えられたtext を位置 (x,y) に、 ペインターが現在定義しているテキスト方向を用いて描画します。
デフ ォル ト では、QPainter はテキス ト をアンチエイリアスで描画します。
注: y-position はフォントのベースラインとして使われます。
setFont() およびsetPen()も参照して ください。
void QPainter::drawText(const QRect &rectangle, int flags, const QString &text, QRect *boundingRect = nullptr)
これはオーバーロードされた関数です。
指定されたrectangle 内に、指定されたflags に従って、指定されたtext を描画します。
boundingRect (null でない場合) には、 テキス ト 全体を囲むために必要な外接矩形が設定 さ れます。た と えば以下の画像では、 点線は関数が算出 し たboundingRect を表 し 、 破線はrectangle を表しています:
QPainter painter(this); QFont font = painter.font(); font.setPixelSize(48); painter.setFont(font); const QRect rectangle = QRect(0, 0, 100, 50); QRect boundingRect; painter.drawText(rectangle, 0, tr("Hello"), &boundingRect); QPen pen = painter.pen(); pen.setStyle(Qt::DotLine); painter.setPen(pen); painter.drawRect(boundingRect.adjusted(0, 0, -pen.width(), -pen.width())); pen.setStyle(Qt::DashLine); painter.setPen(pen); painter.drawRect(rectangle.adjusted(0, 0, -pen.width(), -pen.width())); |
デフォルトでは、QPainter はテキストをアンチエイリアスで描画します。
注: rectangle のy座標がフォントの上端として使われる。
void QPainter::drawText(const QRectF &rectangle, int flags, const QString &text, QRectF *boundingRect = nullptr)
これはオーバーロードされた関数です。
与えられたrectangle 内に、与えられたtext を描画します。rectangle と alignmentflags は、text のアンカーを定義します。
QPainter painter(this); painter.drawText(rect, Qt::AlignCenter, tr("Qt\nProject")); |
boundingRect (null でない場合) には、 テ キ ス ト 全体を囲 う ために必要な外接矩形が設定 さ れます。た と えば以下の画像では、 点線は関数が算出 し たboundingRect を表 し 、 破線はrectangle を表しています:
QPainter painter(this); QFont font = painter.font(); font.setPixelSize(48); painter.setFont(font); const QRect rectangle = QRect(0, 0, 100, 50); QRect boundingRect; painter.drawText(rectangle, 0, tr("Hello"), &boundingRect); QPen pen = painter.pen(); pen.setStyle(Qt::DotLine); painter.setPen(pen); painter.drawRect(boundingRect.adjusted(0, 0, -pen.width(), -pen.width())); pen.setStyle(Qt::DashLine); painter.setPen(pen); painter.drawRect(rectangle.adjusted(0, 0, -pen.width(), -pen.width())); |
引数flags は、以下のフラグのビット OR です:
- Qt::AlignLeft
- Qt::AlignRight
- Qt::AlignHCenter
- Qt::AlignJustify
- Qt::AlignTop
- Qt::AlignBottom
- Qt::AlignVCenter
- Qt::AlignCenter
- Qt::TextDontClip
- Qt::TextSingleLine
- Qt::TextExpandTabs
- Qt::TextShowMnemonic
- Qt::TextWordWrap
- Qt::TextIncludeTrailingSpaces
デフォルトでは、QPainter はテキストをアンチエイリアスで描画します。
注: rectangle の y 座標がフ ォ ン ト の上端 と し て用い ら れます。
Qt::AlignmentFlag 、Qt::TextFlag 、boundingRect()、layoutDirection()も参照 。
void QPainter::drawText(int x, int y, int width, int height, int flags, const QString &text, QRect *boundingRect = nullptr)
これはオーバーロードされた関数です。
与えられたtext を、原点 (x,y),width,height を持つ矩形内に描画します。
boundingRect (null でない場合) は、 テ キ ス ト 全体を囲む ために必要な外接矩形に設定 さ れます。た と えば以下の画像では、 点線は関数が算出 し たboundingRect を表 し 、 破線はx,y,width,height で定義 さ れた矩形を表 し てい ます:
QPainter painter(this); QFont font = painter.font(); font.setPixelSize(48); painter.setFont(font); const QRect rectangle = QRect(0, 0, 100, 50); QRect boundingRect; painter.drawText(rectangle, 0, tr("Hello"), &boundingRect); QPen pen = painter.pen(); pen.setStyle(Qt::DotLine); painter.setPen(pen); painter.drawRect(boundingRect.adjusted(0, 0, -pen.width(), -pen.width())); pen.setStyle(Qt::DashLine); painter.setPen(pen); painter.drawRect(rectangle.adjusted(0, 0, -pen.width(), -pen.width())); |
引数flags は、以下のフラグのビット OR です:
- Qt::AlignLeft
- Qt::AlignRight
- Qt::AlignHCenter
- Qt::AlignJustify
- Qt::AlignTop
- Qt::AlignBottom
- Qt::AlignVCenter
- Qt::AlignCenter
- Qt::TextSingleLine
- Qt::TextExpandTabs
- Qt::TextShowMnemonic
- Qt::TextWordWrap
デフォルトでは、QPainter はテキストをアンチエイリアスで描画します。
注: y-position はフォントの上端として使われます。
Qt::AlignmentFlag,Qt::TextFlag,setFont(),setPen()も参照 。
void QPainter::drawTiledPixmap(const QRectF &rectangle, const QPixmap &pixmap, const QPointF &position = QPointF())
与えられたrectangle の内側に、与えられたposition を原点とするタイル状のpixmap を描画します。
drawTiledPixmap()の呼び出しは、drawPixmap()を数回呼び出して pixmap で領域を塗りつぶす(タイル化する)のと似ていますが、基本的なウィンドウ・システムによっては、はるかに効率的な可能性があります。
drawTiledPixmap()は、高dpiディスプレイ(devicePixelRatio > 1)では、通常dpiディスプレイと同じ視覚的なタイリング・パターンを生成します。pixmap で devicePixelRatio を設定して、タイル・サイズを制御する。例えば、これを2に設定すると、タイルの幅と高さが半分になり(1xと2xディスプレイの両方で)、2xディスプレイでは高解像度の出力が得られる。
position のオフセットは、ディスプレイの devicePixelRatio とは無関係に、常にペインター座標系になります。
drawPixmap()も参照 。
void QPainter::drawTiledPixmap(const QRect &rectangle, const QPixmap &pixmap, const QPoint &position = QPoint())
これはオーバーロードされた関数です。
与えられたrectangle の内側に、与えられたposition を原点とするタイル状のpixmap を描画します。
void QPainter::drawTiledPixmap(int x, int y, int width, int height, const QPixmap &pixmap, int sx = 0, int sy = 0)
これはオーバーロードされた関数です。
指定された矩形内にタイル状のpixmap を描画します。
(x,y) は、描画されるペイントデバイスの左上の点を指定します; 与えられたwidth とheight で指定します。 (sx,sy) は、描画されるpixmap の左上の点を指定します; デフォルトは (0, 0) です。
bool QPainter::end()
描画を終了します。描画中に使用されたリソースはすべて解放されます。これはデストラクタから呼び出されるので、通常は呼び出す必要はありません。
ペインターがアクティブでなくなった場合はtrue
を返し、 そうでない場合はfalse
を返します。
begin() およびisActive()も参照して ください。
void QPainter::endNativePainting()
手動でネイティブペインティングコマンドを発行した後にペインターを復元します。他のペインタコマンドを呼び出す前に、ペインタが依存しているネイティブな状態を復元できるようにします。
beginNativePainting()も参照 。
void QPainter::eraseRect(const QRectF &rectangle)
指定されたrectangle 内の領域を消去します。を呼び出すのと同じです。
fillRect(rectangle, background());
fillRect()も参照して ください。
void QPainter::eraseRect(const QRect &rectangle)
これはオーバーロードされた関数です。
指定されたrectangle 内の領域を消去します。
void QPainter::eraseRect(int x, int y, int width, int height)
これはオーバーロードされた関数です。
(x,y) で始まる矩形の内側の領域を、与えられたwidth とheight で消去します。
void QPainter::fillPath(const QPainterPath &path, const QBrush &brush)
与えられたbrush を用いて、与えられたpath を塗りつぶします。輪郭は描画されません。
また、QBrush の代わりにQColor を指定することもできます。QBrush コンストラクタ(引数QColor を取る)は、自動的にソリッドパターンブラシを作成します。
drawPath()も参照してください 。
void QPainter::fillRect(const QRectF &rectangle, const QBrush &brush)
指定されたbrush で、指定されたrectangle を塗りつぶします。
あるいは、QBrush の代わりにQColor を指定することもできます。QBrush コンストラクタ (QColor 引数をとる) は、自動的にベタのパターンブラシを作成します。
drawRect()も参照してください 。
void QPainter::fillRect(const QRect &rectangle, QGradient::Preset preset)
これはオーバーロードされた関数です。
与えられたrectangle を、指定されたグラデーションpreset で塗りつぶします。
void QPainter::fillRect(const QRect &rectangle, Qt::BrushStyle style)
これはオーバーロードされた関数です。
与えられたrectangle を指定されたブラシstyle で塗りつぶします。
void QPainter::fillRect(const QRect &rectangle, Qt::GlobalColor color)
これはオーバーロードされた関数です。
指定されたrectangle を指定されたcolor で塗りつぶします。
void QPainter::fillRect(const QRect &rectangle, const QBrush &brush)
これはオーバーロードされた関数です。
指定されたrectangle を指定されたbrush で塗りつぶします。
void QPainter::fillRect(const QRect &rectangle, const QColor &color)
これはオーバーロードされた関数です。
指定されたrectangle を指定されたcolor で埋めます。
void QPainter::fillRect(const QRectF &rectangle, QGradient::Preset preset)
これはオーバーロードされた関数です。
指定されたrectangle を、指定された勾配preset で埋めます。
void QPainter::fillRect(const QRectF &rectangle, Qt::BrushStyle style)
これはオーバーロードされた関数です。
指定されたrectangle を指定されたブラシstyle で塗りつぶします。
void QPainter::fillRect(const QRectF &rectangle, Qt::GlobalColor color)
これはオーバーロードされた関数です。
指定されたrectangle を指定されたcolor で塗りつぶします。
void QPainter::fillRect(const QRectF &rectangle, const QColor &color)
これはオーバーロードされた関数です。
指定されたcolor で、指定されたrectangle を塗りつぶします。
void QPainter::fillRect(int x, int y, int width, int height, QGradient::Preset preset)
これはオーバーロードされた関数です。
(x,y) で始まる矩形を、指定されたwidth とheight で、指定されたグラデーションpreset を用いて塗りつぶします。
void QPainter::fillRect(int x, int y, int width, int height, Qt::BrushStyle style)
これはオーバーロードされた関数です。
(x,y) で始まる矩形を、指定されたwidth とheight で、指定されたブラシstyle を用いて塗りつぶします。
void QPainter::fillRect(int x, int y, int width, int height, Qt::GlobalColor color)
これはオーバーロードされた関数です。
(x,y) で始まる矩形を、指定されたwidth とheight で、指定されたcolor を用いて塗りつぶします。
void QPainter::fillRect(int x, int y, int width, int height, const QBrush &brush)
これはオーバーロードされた関数です。
(x,y) で始まる矩形を、与えられたwidth とheight で、与えられたbrush を用いて埋めます。
void QPainter::fillRect(int x, int y, int width, int height, const QColor &color)
これはオーバーロードされた関数です。
(x,y) で始まる矩形を、与えられたwidth とheight で、与えられたcolor を使って埋めます。
const QFont &QPainter::font() const
テキストを描画するために現在設定されているフォントを返します。
setFont()、drawText()、Settingsも参照 。
QFontInfo QPainter::fontInfo() const
ペインターがアクティブであれば、ペインターのフォント情報を返します。それ以外の場合、戻り値は未定義です。
font()、isActive()、Settingsも参照 。
QFontMetrics QPainter::fontMetrics() const
ペ イ ン タ がア ク テ ィ ブであれば、 そのペ イ ン タ のフ ォ ン ト メ ト リ ッ ク を返 し ます。それ以外の場合、戻り値は未定義です。
font()、isActive()、およびSettingsも参照して ください。
bool QPainter::hasClipping() const
クリッピングが設定されている場合はtrue
を返し、そうでない場合はfalse
を返す。
setClipping() およびClippingも参照 。
bool QPainter::isActive() const
begin() が呼び出され、かつend() がまだ呼び出されていない場合はtrue
を返し、そうでない場合はfalse
を返す。
begin() およびQPaintDevice::paintingActive()も参照 。
Qt::LayoutDirection QPainter::layoutDirection() const
テキストを描画する際にペインターが使用するレイアウト方向を返します。
QTextOption::textDirection()、setLayoutDirection()、drawText() およびSettings も参照 。
qreal QPainter::opacity() const
不透明度 ペインターの不透明度を返します。デフォルト値は 1 です。
setOpacity()も参照 。
QPaintEngine *QPainter::paintEngine() const
ペインターがアクティブな場合に、そのペインターが現在動作しているペイントエンジンを返します。
isActive()も参照して ください。
const QPen &QPainter::pen() const
ペインターの現在のペンを返します。
setPen() およびSettings も参照して ください。
QPainter::RenderHints QPainter::renderHints() const
このペインターに設定されているレンダリングヒントを指定するフラグを返します。
setRenderHints()、testRenderHint()、Rendering Qualityも参照して ください。
void QPainter::resetTransform()
translate()、scale()、shear()、rotate()、setWorldTransform()、setViewport()、setWindow() を使用して行われたすべての変換をリセットします。
Coordinate Transformationsも参照してください 。
void QPainter::restore()
現在のペインターの状態を復元する(保存した状態をスタックからポップする)。
save()も参照して ください。
void QPainter::rotate(qreal angle)
座標系を時計回りに回転させます。指定したangle パラメータの単位は度です。
setWorldTransform() およびCoordinate Transformations も参照して ください。
void QPainter::save()
現在のペインターの状態を保存します (状態をスタックにプッシュします)。save() の後には、対応するrestore() を続けなければなりません。end() 関数はスタックを展開します。
restore()も参照して ください。
void QPainter::scale(qreal sx, qreal sy)
座標系を (sx,sy) だけスケーリングする。
setWorldTransform() およびCoordinate Transformations も参照 。
void QPainter::setBackground(const QBrush &brush)
ペインターの背景ブラシを、与えられたbrush に設定します。
背景ブラシは、不透明なテキスト、スティプル線、ビットマップを描画するときに塗りつぶされるブラシです。背景ブラシは、透明背景モード(デフォルト)では効果がありません。
background(),setBackgroundMode(),Settingsも参照してください 。
void QPainter::setBackgroundMode(Qt::BGMode mode)
ペインターの背景モードを、指定されたmode
Qt::TransparentMode (デフォルト) は、背景ピクセルを設定せずに、点描画線とテキストを描画します。 は、これらの空間を現在の背景色で塗りつぶします。Qt::OpaqueMode
ビットマップやピクセルマップを透過的に描画するには、QPixmap::setMask() を使用しなければならないことに注意してください。
backgroundMode()、setBackground()、Settingsも参照してください 。
void QPainter::setBrush(const QBrush &brush)
ペインターのブラシを、与えられたbrush に設定します。
ペインターのブラシは、どのように図形を塗りつぶすかを定義します。
brush() およびSettingsも参照して ください。
void QPainter::setBrush(Qt::BrushStyle style)
これはオーバーロードされた関数です。
ペインターのブラシを、黒色と指定されたstyle に設定します。
void QPainter::setBrushOrigin(const QPointF &position)
ブラシの原点をposition に設定します。
ブラシの原点は、ペインターのブラシの座標 (0, 0) を指定します。
brushOrigin() は、Qt 3 ではウィジェットに親の背景を採用するために必要でしたが、Qt 4 のペインターは、ウィジェットのautoFillBackground プロパティを true に設定することで明示的に指示しない限り、背景を描画しないため、このようなことはなくなりました。
brushOrigin() およびSettingsも参照してください 。
void QPainter::setBrushOrigin(const QPoint &position)
これはオーバーロードされた関数です。
ブラシの原点を指定されたposition に設定します。
void QPainter::setBrushOrigin(int x, int y)
これはオーバーロードされた関数です。
ブラシの原点を point (x,y) に設定します。
void QPainter::setClipPath(const QPainterPath &path, Qt::ClipOperation operation = Qt::ReplaceClip)
operationクリッピングを有効にし、ペインターのクリップパスを与えられたpath に設定します。
クリップパスは論理座標(ペインター座標)で指定されることに注意してください。
clipPath(),clipRegion(),Clippingも参照してください 。
void QPainter::setClipRect(const QRectF &rectangle, Qt::ClipOperation operation = Qt::ReplaceClip)
クリッピングを有効にし、与えられたクリップoperation を用いて、与えられたrectangle にクリップ領域を設定します。デフォルトの操作は、現在のクリップ矩形を置き換えることです。
クリップ矩形は論理座標(ペインタ座標)で指定することに注意してください。
clipRegion(),setClipping(),Clippingも参照してください 。
void QPainter::setClipRect(int x, int y, int width, int height, Qt::ClipOperation operation = Qt::ReplaceClip)
ク リ ッ ピ ン グ を有効に し 、 ク リ ッ プ領域を、 (x,y) で始まる矩形に、 与えられたwidth とheight を用いて設定します。
void QPainter::setClipRect(const QRect &rectangle, Qt::ClipOperation operation = Qt::ReplaceClip)
これはオーバーロードされた関数です。
クリッピングを有効にし、与えられたクリップoperation を使用して、与えられたrectangle にクリップ領域を設定します。
void QPainter::setClipRegion(const QRegion ®ion, Qt::ClipOperation operation = Qt::ReplaceClip)
指定されたクリップoperation を使用して、指定されたregion にクリップ領域を設定します。デフォルトのクリップ操作は、現在のクリップ領域を置き換えることです。
クリップ領域は論理座標で指定することに注意してください。
clipRegion()、setClipRect()、Clippingも参照 。
void QPainter::setClipping(bool enable)
enable が true の場合はクリッピングを有効にし、enable が false の場合はクリッピングを無効にします。
hasClipping() およびClippingも参照 。
void QPainter::setCompositionMode(QPainter::CompositionMode mode)
合成モードを、与えられたmode に設定します。
警告: すべての合成モードを完全にサポートしているのは、QImage 上で動作するQPainter だけです。RasterOp モードは、compositionMode() で説明されているように、X11 でサポートされている。
compositionMode()も参照 。
void QPainter::setFont(const QFont &font)
ペインターのフォントを、与えられたfont に設定します。
このフォントは、後続のdrawText() 関数で使用されます。テキストの色はペンの色と同じです。
利用可能でないフォントを設定した場合、Qt はそれに近いものを見つけます。font() は setFont() で設定したものを返し、fontInfo() は実際に使用されているフォント(同じかもしれません)を返します。
font(),drawText(),Settingsも参照してください 。
void QPainter::setLayoutDirection(Qt::LayoutDirection direction)
テ キ ス ト を描画す る 際にペ イ ン タ が用い る レ イ ア ウ ト 方向を、 指定 し たdirection に設定 し ます。
デフォルトはQt::LayoutDirectionAuto で、 描画されたテキストから暗黙的に方向を決定します。
QTextOption::setTextDirection(),layoutDirection(),drawText(),Settingsも参照 。
void QPainter::setOpacity(qreal opacity)
ペ イ ン タ の不透明度 をopacity に設定 し ます。 値は 0.0 か ら 1.0 の範囲であ る 必要があ り 、 0.0 で完全透過、 1.0 で完全不透明 と な り ます。
ペインターに設定された不透明度は、すべての描画操作に個別に適用されます。
opacity()も参照してください 。
void QPainter::setPen(const QPen &pen)
ペインターのペンを、与えられたpen に設定します。
pen は、線と輪郭の描き方を定義し、テキストの色も定義します。
void QPainter::setPen(Qt::PenStyle style)
これはオーバーロードされた関数です。
ペインターのペンを、与えられたstyle 、幅 1 、黒色に設定します。
void QPainter::setPen(const QColor &color)
これはオーバーロードされた関数です。
ペインターのペンのスタイルQt::SolidLine 、幅 1、指定されたcolor を設定します。
void QPainter::setRenderHint(QPainter::RenderHint hint, bool on = true)
もしon が真であれば、与えられたレンダリングhint をペインターに設定します。そうでなければ、レンダリングヒントをクリアします。
setRenderHints()、renderHints()、Rendering Qualityも参照 。
void QPainter::setRenderHints(QPainter::RenderHints hints, bool on = true)
on が true の場合、指定されたレンダーhints をペインターに設定します; そうでない場合、レンダーヒントをクリアします。
setRenderHint()、renderHints()、Rendering Qualityも参照して ください。
void QPainter::setTransform(const QTransform &transform, bool combine = false)
ワールド変換行列を設定します。combine が true の場合、指定されたtransform が現在の行列と結合されます。そうでない場合、現在の行列と置き換わります。
transform() およびsetWorldTransform()も参照してください .
void QPainter::setViewTransformEnabled(bool enable)
enable が true の場合はビュー変換を有効にし、enable が false の場合はビュー変換を無効にします。
viewTransformEnabled() およびWindow-Viewport Conversion も参照して ください。
void QPainter::setViewport(const QRect &rectangle)
ペインターのビューポート矩形を与えられたrectangle に設定し、ビュー変換を有効にします。
ビューポート矩形はビュー変換の一部です。ビューポートはデバイス座標系を指定します。その姉妹であるwindow() は、論理座標系を指定します。
デフォルトのビューポート矩形は、デバイスの矩形と同じです。
viewport()、viewTransformEnabled()、Window-Viewport Conversionも参照してください 。
void QPainter::setViewport(int x, int y, int width, int height)
これはオーバーロードされた関数です。
ペインターのビューポート矩形を、 (x,y) で始まり、与えられたwidth とheight を含む矩形に設定します。
void QPainter::setWindow(const QRect &rectangle)
ペインターのウィンドウを与えられたrectangle に設定し、ビュー変換を有効にします。
ウィンドウの矩形はビュー変換の一部です。ウ ィ ン ド ウは論理座標系を指定 し ます。その姉妹であるviewport() は、デバイス座標系を指定します。
デフォルトのウィンドウ矩形は、デバイスの矩形と同じです。
window()、viewTransformEnabled()、Window-Viewport Conversionも参照してください 。
void QPainter::setWindow(int x, int y, int width, int height)
これはオーバーロードされた関数です。
ペインターのウィンドウを、 (x,y) で始まる矩形と、与えられたwidth とheight に設定します。
void QPainter::setWorldMatrixEnabled(bool enable)
enable が true の場合は変換を有効にし、enable が false の場合は変換を無効にします。ワールド変換行列は変更されません。
worldMatrixEnabled(),worldTransform(),Coordinate Transformationsも参照してください .
void QPainter::setWorldTransform(const QTransform &matrix, bool combine = false)
ワールド変換行列を設定します.combine が true の場合,指定されたmatrix が現在の行列と結合されます.そうでない場合,現在の行列と置き換わります.
worldTransform(),transform(),setTransform()も参照してください .
void QPainter::shear(qreal sh, qreal sv)
座標系を (sh,sv) で切断します。
setWorldTransform() およびCoordinate Transformationsも参照してください 。
void QPainter::strokePath(const QPainterPath &path, const QPen &pen)
で指定したペンで、パスpath の輪郭(ストローク)を描画します。pen
fillPath() およびDrawingも参照して ください。
bool QPainter::testRenderHint(QPainter::RenderHint hint) const
hint が設定されている場合はtrue
を返し、そうでない場合はfalse
を返します。
renderHints() およびsetRenderHint()も参照 。
const QTransform &QPainter::transform() const
worldTransform() のエイリアス。世界変換行列を返します.
setTransform() およびworldTransform()も参照して ください。
void QPainter::translate(const QPointF &offset)
与えられたoffset によって座標系を変換します.つまり,与えられたoffset が点に加えられます.
setWorldTransform() およびCoordinate Transformations も参照して ください.
void QPainter::translate(const QPoint &offset)
これはオーバーロードされた関数です。
与えられたoffset によって座標系を変換する。
void QPainter::translate(qreal dx, qreal dy)
これはオーバーロードされた関数です。
ベクトル (dx,dy) によって座標系を変換します。
bool QPainter::viewTransformEnabled() const
ビュー変換が有効な場合はtrue
を返し、そうでない場合は false を返します。
setViewTransformEnabled() およびworldTransform()も参照してください 。
QRect QPainter::viewport() const
ビューポート矩形を返します。
setViewport() およびsetViewTransformEnabled() も参照 。
QRect QPainter::window() const
ウィンドウの矩形を返します。
setWindow() およびsetViewTransformEnabled()も参照 。
bool QPainter::worldMatrixEnabled() const
ワールド変換が有効な場合はtrue
を返し、そうでない場合は false を返します。
setWorldMatrixEnabled()、worldTransform()、Coordinate System も参照して ください。
const QTransform &QPainter::worldTransform() const
ワールド変換行列を返します。
setWorldTransform()も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。