Magick::Drawable

Drawableは、Image::draw()メソッドにベクター、画像、またはテキスト引数を準備するための便利なインターフェースを提供します。Drawableサブクラスの各インスタンスは、単一の描画可能オブジェクトを表します。描画可能オブジェクトは、Imageのdraw()メソッドを複数回呼び出すことで「1つずつ」描画することも、描画可能オブジェクトのリストをImageのdraw()メソッドに渡すことで「一度にすべて」描画することもできます。1つずつのアプローチは単純な描画に便利ですが、リストベースのアプローチはより高度な描画に適しています。

以下は、Drawableサブクラスを1つずつのアプローチで使用して次の図形を描画する例です。

example

#include <string> #include <iostream> #include <Magick++.h> using namespace std; using namespace Magick; int main(int /*argc*/,char **argv) { try { InitializeMagick(*argv); // ベース画像の作成 (300x200ピクセルの白い画像) Image image( Geometry(300,200), Color("white") ); // 描画オプションの設定 image.strokeColor("red"); // 輪郭の色 image.fillColor("green"); // 塗りつぶしの色 image.strokeWidth(5); // 線の太さ // 円の描画 image.draw( DrawableCircle(100,100, 50,100) ); // 長方形の描画 image.draw( DrawableRectangle(200,200, 270,170) ); // 結果の表示 image.display( ); } catch( exception & error_ ) { cout << "例外をキャッチしました: " << error_.what() << endl; return 1; } return 0; }

Drawableはオブジェクトであるため、後で(繰り返し)使用するために配列またはリストに保存できます。次の例は、リストベースのアプローチを使用して同じ図形を描画する方法を示しています。

#include <string> #include <iostream> #include <list> #include <Magick++.h> using namespace std; using namespace Magick; int main(int /*argc*/,char **/*argv*/) { try { InitializeMagick(*argv); // ベース画像の作成 (300x200ピクセルの白い画像) Image image( Geometry(300,200), Color("white") ); // 描画リストの構築 std::list<Magick::Drawable> drawList; // 描画リストに描画オプションを追加 drawList.push_back(DrawableStrokeColor("red")); // 輪郭の色 drawList.push_back(DrawableStrokeWidth(5)); // 線の太さ drawList.push_back(DrawableFillColor("green")); // 塗りつぶしの色 // 描画リストに円を追加 drawList.push_back(DrawableCircle(100,100, 50,100)); // 描画リストに長方形を追加 drawList.push_back(DrawableRectangle(200,100, 270,170)); // 完成した描画リストを使用してすべてを描画 image.draw(drawList); // 結果の表示 image.display( ); } catch( exception & error_ ) { cout << "例外をキャッチしました: " << error_.what() << endl; return 1; } return 0; }

Drawableは、x、y座標のペアを表す単純なCoordinate構造体に依存します。Coordinate構造体によって提供されるメソッドを次の表に示します。

Coordinate構造体のメソッド

メソッド/メンバー

シグネチャ

説明

Coordinate

void

デフォルトコンストラクタ

double x_, double y_

コンストラクタ、firstsecondを設定

x

double x_

x座標メンバー

y

double y_

y座標メンバー

Drawableクラスを次の表に示します。ここでは、コンストラクタのシグネチャのみを記載しています。各Drawableクラスは、個々のパラメータを調整するためのメソッドも提供します。

Drawableクラス

サブクラス

コンストラクタシグネチャ

説明

DrawableAffine

double sx_, double sy_, double rx_, double ry_, double tx_, double ty_

同じまたは下位の描画コンテキストで後続に描画されるオブジェクトのスケーリング、回転、および平行移動(座標変換)を調整するための変換行列を指定します。 sx_とsy_パラメータはxとyのスケールファクターを表し、rx_とry_パラメータはxとyの回転を表し、tx_とty_パラメータはxとyの平行移動を表します。

void

同じまたは下位の描画コンテキストで後続に描画されるオブジェクトのスケーリング、回転、および平行移動(座標変換)を調整するための変換行列を指定します。単位行列(効果なし)アフィン値に初期化されます。クラスメソッド(現在ドキュメント化されていません)を使用して、個々のパラメータを単位値から調整します。

DrawableAngle

double angle_

描画角度を設定します

DrawableArc

double startX_, double startY_, double endX_, double endY_, double startDegrees, double endDegrees_

stroke色を使用して、座標startX_startY_で始まり、座標endX_endY_で終わり、回転円弧startDegrees_endDegrees_で囲まれた円に基づいて円弧を描画します。

DrawableBezier

const std::list<Magick::Coordinate> &coordinates_

stroke色を使用して、coordinates_リストで指定された座標に基づいてベジェ曲線を描画します。

DrawableClipPath

const std::string &id_

id_に一致する描画クリップパスを選択します。

DrawableCircle

double originX_, double originY_, double perimX_, double perimY_

指定された原点と周囲の座標を使用して、strokeの色と太さで円を描画します。 fill色が指定されている場合、オブジェクトは塗りつぶされます。

DrawableColor

double x_, double y_, PaintMethod paintMethod_

paintMethodに従って画像を着色します。 pointメソッドはターゲットピクセルを再着色します。 replaceメソッドは、ターゲットピクセルの色と一致するピクセルを再着色します。 floodfillは、ターゲットピクセルの色と一致し、隣接しているピクセルを再着色しますが、filltoborderは境界色ではない隣接ピクセルを再着色します。 最後に、resetはすべてのピクセルを再着色します。

DrawableCompositeImage

double x_, double y_, const std::string &filename_

指定された座標で、現在の画像を指定された画像の内容と合成します。 matte属性がtrueに設定されている場合、画像の合成は画像ファイルに存在するアルファチャネル、つまり透明度を考慮するため、不透明でない部分は合成画像の一部(または全部)を透けて表示させます。

double x_, double y_, const Image &image_

double x_, double y_, double width_, double height_, const std::string &filename_

指定された座標で、指定された幅と高さでレンダリングされた指定された画像の内容と現在の画像を合成します。 matte属性がtrueに設定されている場合、画像の合成は画像ファイルに存在するアルファチャネル、つまり透明度を考慮するため、不透明でない部分は合成画像の一部(または全部)を透けて表示させます。指定されたwidthまたはheightがゼロの場合、画像は拡大または縮小されることなく、自然なサイズで合成されます。

double x_, double y_, double width_, double height_, const Image &image_

double x_, double y_, double width_, double height_, const std::string &filename_, CompositeOperator composition_

指定された座標で、指定された合成アルゴリズムを使用して、指定された幅と高さでレンダリングされた指定された画像の内容と現在の画像を合成します。 matte属性がtrueに設定されている場合、画像の合成は画像ファイルに存在するアルファチャネル、つまり透明度を考慮するため、不透明でない部分は合成画像の一部(または全部)を透けて表示させます。指定されたwidthまたはheightがゼロの場合、画像は拡大または縮小されることなく、自然なサイズで合成されます。

double x_, double y_, double width_, double height_, const Image &image_, CompositeOperator composition_

DrawableDashArray

const double* dasharray_

パスをストロークするために使用されるダッシュとギャップのパターンを指定します。 strokeDashArrayは、ダッシュとギャップの長さをピクセル単位で交互に指定する数値のゼロ終端配列を表します。奇数個の値が指定された場合、値のリストは繰り返されて偶数個の値になります。 典型的なstrokeDashArray_配列には、メンバー5 3 2 0が含まれている場合があります。ここで、ゼロ値はパターン配列の終わりを示します。

DrawableDashOffset

double offset_

ダッシュを開始するダッシュパターンまでの距離を指定します。SVGの stroke-dashoffset プロパティのドキュメントを参照して、使用方法の詳細を確認してください。

DrawableEllipse

double originX_, double originY_, double radiusX_, double radiusY_, double arcStart_, double arcEnd_

strokeの色と太さ、指定された原点、xとyの半径、および度単位で指定された円弧の開始と終了を使用して楕円を描画します。 fill色が指定されている場合、オブジェクトは塗りつぶされます。

DrawableFillColor

const Color &color_

描画オブジェクトの塗りつぶしの色を指定します。

DrawableFillRule

FillRule fillRule_

キャンバスのどの部分がシェイプの内側に含まれるかを決定するために使用されるアルゴリズムを指定します。SVGの fill-rule プロパティのドキュメントを参照して、使用方法の詳細を確認してください。

DrawableFillOpacity

double opacity_

塗りつぶしの色を使用して描画するときに使用する不透明度を指定します。

DrawableFont

const std::string &font_

テキストを描画するときに使用するフォント名を指定します。

const std::string &family_,
StyleType style_,
unsigned int weight_,
StretchType stretch_

テキストを描画するときに使用されるフォントを選択するために使用されるフォントファミリー、スタイル、太さ({100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900}のセットのいずれかで、400が通常のサイズ)、およびストレッチを指定します。ワイルドカード一致は、AnyStyle列挙型を介してスタイルに適用され、weightがゼロの場合はweightに適用され、AnyStretch列挙型を介してストレッチに適用されます。

DrawableGravity

GravityType gravity_

テキスト配置の重心を指定します。

DrawableLine

double startX_, double startY_, double endX_, double endY_

開始座標と終了座標を使用して、strokeの色と太さで線を描画します。

DrawableMatte

double x_, double y_, PaintMethod paintMethod_

ピクセルのマット値を透明に変更します。 pointメソッドは、ターゲットピクセルのマット値を変更します。 replaceメソッドは、ターゲットピクセルの色と一致するピクセルのマット値を変更します。 floodfillは、ターゲットピクセルの色と一致し、隣接しているピクセルのマット値を変更しますが、filltoborderは境界色ではない隣接ピクセルのマット値を変更します. 最後に、resetはすべてのピクセルのマット値を変更します。

DrawableMiterLimit

size_t miterLimit_

マイターリミットを指定します。2つの線分が鋭角で交差し、「lineJoin」にマイター結合が指定されている場合、マイターがパスのストローク線の太さをはるかに超えて延びる可能性があります。 「miterLimit」は、マイターの長さと「lineWidth」の比率に制限を課します。 このパラメータのデフォルト値は4です。

DrawablePath

const std::list<Magick::VPath> &path_

ベクターパスを使用して画像に描画します。

DrawablePoint

double x_, double y_

指定された座標に、strokeの色と太さで点を描画します。

DrawablePointSize

double pointSize_

フォントのポイントサイズを設定します。

DrawablePolygon

const std::list<Magick::Coordinate> &coordinates_

STLリストに含まれる3つ以上の座標で構成される、strokeの色と太さを使用して任意のポリゴンを描画します。 fill色が指定されている場合、オブジェクトは塗りつぶされます。

DrawablePolyline

const std::list<Magick::Coordinate> &coordinates_

STLリストに含まれる3つ以上の座標で構成される、strokeの色と太さを使用して任意のポリラインを描画します。 fill色が指定されている場合、オブジェクトは塗りつぶされます。

DrawablePopClipPath

void

DrawablePushClipPath によって開始されたクリップパスの定義を終了(ポップ)します。

DrawablePopGraphicContext

void

グラフィックコンテキストをポップします。現在のグラフィックコンテキストをグラフィックコンテキストスタックから削除すると、オプションは前の DrawablePushGraphicContext 操作より前の値に戻ります。

DrawablePushClipPath

const std::string &id_

ID を指定してクリップパスの定義を開始(プッシュ)します。クリップパスの定義は、後続の描画コマンドで構成され、DrawablePopClipPath によって終了します。

DrawablePushGraphicContext

void

グラフィックコンテキストをプッシュします。グラフィックコンテキストがプッシュされると、コンテキストがプッシュされた後に設定されたオプション(座標変換、色の設定など)は、新しいグラフィックコンテキストに保存されます。これにより、関連するオプションをグラフィックコンテキストの「スタック」に保存して、オプションの階層的なネストをサポートできます。 DrawablePopGraphicContext を使用して現在のグラフィックコンテキストをポップすると、最後の DrawablePushGraphicContext 操作中に有効だったオプションが復元されます。

DrawablePushPattern

std::string &id_, ssize_t x_, ssize_t y_, size_t width_, size_t height_

id_ で指定された任意のパターン名、x_ および y_ で指定されたパターンオフセット、width_ および height_ で指定されたパターンサイズで、パターンの定義を開始します。パターンは、指定されたオフセットとサイズで定義された座標系内で定義されます。任意の描画オブジェクト( DrawableCompositeImageを含む)を DrawablePushPattern DrawablePopPattern の間に指定して、パターンを描画できます。通常、ペア DrawablePushGraphicContext & DrawablePopGraphicContext を使用してパターンの定義を囲みます。パターンの定義は、 DrawablePopPattern オブジェクトによって終了します。

DrawablePopPattern

void

DrawablePushPattern.

DrawableRectangle

double upperLeftX_, double upperLeftY_, double lowerRightX_, double lowerRightY

左上の座標から右下の座標まで、ストロークの色と太さを使用して長方形を描画します。塗りつぶし色が指定されている場合、オブジェクトは塗りつぶされます。

DrawableRotation

double angle_

描画時に使用する回転を設定します(座標変換)。

DrawableRoundRectangle

double centerX_, double centerY_, double width_, double hight_, double cornerWidth_, double cornerHeight_

指定された中心座標、幅と高さ、角の幅と高さで、ストロークの色と太さを使用して角丸長方形を描画します。塗りつぶし色が指定されている場合、オブジェクトは塗りつぶされます。

DrawableScaling

double x_, double y_

オブジェクトの描画中に、x 方向と y 方向にスケーリングを適用します(座標変換)。

DrawableSkewX

double angle_

X 方向にスキューを適用します(座標変換)。

DrawableSkewY

double angle_

Y 方向にスキューを適用します。

DrawableStrokeAntialias

bool flag_

線またはオブジェクトの輪郭を描画するときにアンチエイリアスを適用します。

DrawableStrokeColor

const Color &color_

線またはオブジェクトの輪郭を描画するときに使用する色を設定します。

DrawableStrokeLineCap

LineCap linecap_

開いたサブパスの端がストロークされるときに使用する形状を指定します。LineCap の値は、UndefinedCap、ButtCap、RoundCap、SquareCap です。

DrawableStrokeLineJoin

LineJoin linejoin_

パス(または他のベクトル形状)の角がストロークされるときに使用する形状を指定します。LineJoin の値は、UndefinedJoin、MiterJoin、RoundJoin、BevelJoin です。

DrawableStrokeOpacity

double opacity_

線またはオブジェクトの輪郭を描画するときに使用する不透明度。

DrawableStrokeWidth

double width_

線またはオブジェクトの輪郭を描画するときに使用する幅を設定します。

DrawableText

double x_, double y_, std::string text_

指定された座標に、ストロークの色、フォント、フォントポイントサイズ、およびボックスの色(テキストの背景色)を使用して、画像にテキストで注釈を付けます。テキストに 特殊なフォーマット文字 が含まれている場合、画像のファイル名、種類、幅、高さ、またはその他の画像属性がテキストに組み込まれる場合があります(label()を参照)。

const double x_, const double y_, const std::string &text_, const std::string &encoding_

指定された座標に、現在のストロークの色、フォント、フォントポイントサイズ、ボックスの色(テキストの背景色)を使用して、テキストエンコーディングで表されるテキストで画像に注釈を付けます。テキストに 特殊なフォーマット文字 が含まれている場合、画像のファイル名、種類、幅、高さ、またはその他の画像属性がテキストに組み込まれる場合があります(label()を参照)。

テキストエンコーディングは、テキスト注釈に使用するコードセットを指定します。現在指定できる文字エンコーディングは、UTF-8」のみで、 Unicode をバイトシーケンスとして表します。テキストエンコーディングをシステムのデフォルトに設定するには、空の文字列を指定します。Unicode を使用したテキスト注釈が成功するには、Unicode をサポートするように設計されたフォントが必要になる場合があります。

DrawableTextAntialias

bool flag_

テキストを描画するときにアンチエイリアスを適用します(デフォルトは true)。テキストのアンチエイリアスを無効にする主な理由は、画像に新しい色が追加されないようにするためです。

DrawableTextDecoration

DecorationType decoration_

テキストに適用する装飾(例:UnderlineDecoration)を指定します。

DrawableTextUnderColor

const Color &color_

指定された色を使用して、レンダリングされたテキストの下にボックスを描画します。

DrawableTranslation

double x_, double y_

座標変換を適用します(新しい座標原点を設定します)。

DrawableViewbox

ssize_t x1_, ssize_t y1_, ssize_t x2_, ssize_t y2_

出力ビューボックスの寸法。画像をベクトル形式(例:MVG または SVG)に書き込む場合、DrawablePushGraphicContext()オブジェクトをリストの先頭にプッシュし、続いて DrawableViewbox()ステートメントを使用して出力キャンバスサイズを設定する必要があります。対応する DrawablePopGraphicContext()オブジェクトをリストの末尾にプッシュする必要があります。

ベクトルパスクラス

Magick++ でサポートされているベクトルパスは、SVG XML 仕様でサポートされているベクトルパスに基づいています。ベクトルパスは直接描画できません。描画可能なオブジェクトを作成するには、最初にDrawablePathクラスのコンストラクタ引数としてベクトルパスを提供する必要があります。DrawablePathクラスは、必要に応じて再生できる描画可能な複合コンポーネントを効果的に作成します。描画可能な複合コンポーネントが相対座標を使用するベクトルパスオブジェクトのみで構成されている場合、現在の描画座標を設定する *DrawablePath* を前に付けることで、オブジェクトを画像上に配置できます。代わりに、座標変換を使用して原点を平行移動してオブジェクトを配置したり、回転したり、スキューしたり、スケーリングしたりできます。

「moveto」コマンド

「moveto」コマンドは、新しい現在点を設定します。「ペン」を持ち上げて新しい場所に移動したかのようになります。パスデータセグメントは、「moveto」コマンドまたは「arc」コマンドのいずれかで始まる必要があります。後続の「moveto」コマンド(つまり、「moveto」が最初のコマンドではない場合)は、新しいサブパスの開始を表します。

Moveto クラス

サブクラス

コンストラクタシグネチャ

説明

PathMovetoAbs

const Magick::Coordinate &coordinate_

指定された座標に新しいサブパスを開始します。*PathMovetoAbs* は絶対座標が続くことを示し、*PathMovetoRel* は相対座標が続くことを示します。相対 moveto がパスの最初の要素として表示される場合、それは絶対座標のペアとして扱われます。moveto の後に複数の座標ペアが続く場合、後続のペアは暗黙の lineto コマンドとして扱われます。

const std::list<Magick::Coordinate> &coordinates_

PathMovetoRel

const Magick::Coordinate &coordinate_

const std::list<Magick::Coordinate> &coordinates_

「closepath」コマンド

「closepath」コマンドは、現在点から現在のサブパスの初期点まで自動的に直線が描画されるようにします。

Closepath クラス

サブクラス

コンストラクタシグネチャ

説明

PathClosePath

void

現在点から現在のサブパスの最新の開始点(通常は最新の moveto 点)まで直線を描画することにより、現在のサブパスを閉じます。

「lineto」コマンド

さまざまな「lineto」コマンドは、現在点から新しい点まで直線を描画します。

Lineto クラス

サブクラス

コンストラクタシグネチャ

説明

PathLinetoAbs

const Magick::Coordinate& coordinate_

現在点から指定された座標まで直線を描画し、それが新しい現在点になります。*PathLinetoAbs* は絶対座標が使用されることを示し、*PathLinetoRel* は相対座標が使用されることを示します。座標ペアをリストに複数指定して、ポリラインを描画できます。コマンドの最後に、新しい現在点は提供された最後の座標セットに設定されます。

const std::list<Magick::Coordinate> &coordinates_

PathLinetoRel

const Magick::Coordinate& coordinate_

const std::list<Magick::Coordinate> &coordinates_

PathLinetoHorizontalAbs

double x_

現在点(cpx、cpy)から(x、cpy)まで水平線を描画します。*PathLinetoHorizontalAbs* は絶対座標が提供されることを示し、*PathLinetoHorizontalRel* は相対座標が提供されることを示します。コマンドの最後に、新しい現在点は x の最後の値に対して(x、cpy)になります。

PathLinetoHorizontalRel

double x_

PathLinetoVerticalAbs

double y_

現在点(cpx、cpy)から(cpx、y)まで垂直線を描画します。*PathLinetoVerticalAbs* は絶対座標が提供されることを示し、*PathLinetoVerticalRel* は相対座標が提供されることを示します。コマンドの最後に、新しい現在点は y の最後の値に対して(cpx、y)になります。

PathLinetoVerticalRel

double y_

曲線コマンド

これら 3 つのグループのコマンドは曲線を描画します。

3 次ベジェ曲線コマンド

3 次ベジェ曲線コマンドは、*PathCurvetoArgs* 引数クラスに依存します。このクラスのコンストラクタシグネチャは次のとおりです。

  PathCurvetoArgs( double x1_, double y1_, 
                   double x2_, double y2_, 
                   double x_, double y_ );

コマンドは次のとおりです。

3 次ベジェ曲線クラス

サブクラス

コンストラクタシグネチャ

説明

PathCurvetoAbs

const Magick::PathCurvetoArgs &args_

現在の点から(x,y)まで、曲線の始点における制御点として(x1,y1)を、終点における制御点として(x2,y2)を使用して、3次ベジェ曲線を描画します。 PathCurvetoAbsは絶対座標が続くことを示し、PathCurvetoRelは相対座標が続くことを示します。複数の座標セットを指定してポリベジェを描画することができます。コマンドの最後に、新しい現在の点はポリベジェで使用された最後の(x,y)座標ペアになります。

const std::list<Magick::PathCurvetoArgs> &args_

PathCurvetoRel

const Magick::PathCurvetoArgs &args_

const std::list<Magick::PathCurvetoArgs> &args_

PathSmoothCurvetoAbs

const Magick::Coordinate &coordinates_

現在の点から(x,y)まで3次ベジェ曲線を描画します。最初の制御点は、現在の点に対して、前のコマンドの2番目の制御点の鏡像であると想定されます。(前のコマンドがない場合、または前のコマンドがPathCurvetoAbsPathCurvetoRelPathSmoothCurvetoAbs、またはPathSmoothCurvetoRelでない場合は、最初の制御点は現在の点と一致すると想定されます。)(x2,y2)は2番目の制御点(つまり、曲線の終点にある制御点)です。 PathSmoothCurvetoAbsは絶対座標が続くことを示し、PathSmoothCurvetoRelは相対座標が続くことを示します。複数の座標セットを指定してポリベジェを描画することができます。コマンドの最後に、新しい現在の点はポリベジェで使用された最後の(x,y)座標ペアになります。

const std::list<Magick::Coordinate> &coordinates_

PathSmoothCurvetoRel

const Magick::Coordinate &coordinates_

const std::list<Magick::Coordinate> &coordinates_

2次ベジェ曲線コマンド

2次ベジェコマンドは、コンストラクタシグネチャを持つPathQuadraticCurvetoArgs引数クラスに依存します

  PathQuadraticCurvetoArgs( double x1_, double y1_, 
                            double x_, double y_ );

2次ベジェコマンドは以下のとおりです

2次ベジェ曲線クラス

サブクラス

コンストラクタシグネチャ

説明

PathQuadraticCurvetoAbs

const Magick::PathQuadraticCurvetoArgs &args_

現在の点から(x,y)まで、制御点として(x1,y1)を使用して、2次ベジェ曲線を描画します。 PathQuadraticCurvetoAbsは絶対座標が続くことを示し、PathQuadraticCurvetoRelは相対座標が続くことを示します。複数の座標セットを指定してポリベジェを描画することができます。コマンドの最後に、新しい現在の点はポリベジェで使用された最後の(x,y)座標ペアになります。

const std::list<Magick::PathQuadraticCurvetoArgs> &args_

PathQuadraticCurvetoRel

const Magick::PathQuadraticCurvetoArgs &args_

const std::list<Magick::PathQuadraticCurvetoArgs> &args_

PathSmoothQuadraticCurvetoAbs

const Magick::Coordinate &coordinate_

現在の点から(x,y)まで2次ベジェ曲線を描画します。制御点は、前の
コマンドの制御点の、現在の点に対する鏡像であると想定されます。(前のコマンドがない場合、または前のコマンドがPathQuadraticCurvetoAbsPathQuadraticCurvetoRelPathSmoothQuadraticCurvetoAbs、またはPathSmoothQuadraticCurvetoRelでない場合は、制御点は現在の点と一致すると想定されます。)PathSmoothQuadraticCurvetoAbsは絶対座標が続くことを示し、PathSmoothQuadraticCurvetoRelは相対座標が続くことを示します。コマンドの最後に、新しい現在の点はポリベジェで使用された最後の(x,y)座標ペアになります。

const std::list<Magick::Coordinate> &coordinates_

PathSmoothQuadraticCurvetoRel

const Magick::Coordinate &coordinate_

const std::list<Magick::Coordinate> &coordinates_

楕円弧曲線コマンド

楕円弧曲線コマンドは、コンストラクタシグネチャを持つPathArcArgs引数クラスに依存します

   PathArcArgs( double radiusX_, double radiusY_, 
                double xAxisRotation_, bool largeArcFlag_, 
                bool sweepFlag_, double x_, double y_ );

楕円弧コマンドは以下のとおりです

楕円弧曲線クラス

サブクラス

コンストラクタシグネチャ

説明

PathArcAbs

const Magick::PathArcArgs &coordinates_

現在の点から(x, y)まで楕円弧を描画します。楕円のサイズと方向は、2つの半径(radiusXradiusY)と、楕円全体が現在の座標系に対してどのように回転しているかを示すxAxisRotationによって定義されます。楕円の中心(cx, cy)は、他のパラメータによって課せられる制約を満たすように自動的に計算されます。 largeArcFlagsweepFlagは自動計算に寄与し、弧の描画方法を決定するのに役立ちます。 largeArcFlagがtrueの場合、利用可能な弧のうち大きい方を描画します。 sweepFlagがtrueの場合、時計回りの回転に一致する弧を描画します。

const std::list<Magick::PathArcArgs> &coordinates_

PathArcRel

const Magick::PathArcArgs &coordinates_

const std::list<Magick::PathArcArgs> &coordinates_