ドロー系の図形描画クラス [詳細]
#include <sgcairo.h>
Public メソッド | |
SGCairoDraw () | |
コンストラクタ | |
SGCairoDraw (SGSurface *surface) | |
コンストラクタ | |
virtual | ~SGCairoDraw () |
デストラクタ | |
void | CvSetSurface (SGSurface *surface) |
描画を行うサーフェースを登録する | |
SGSurface * | CvGetSurface () |
登録したサーフェスを取得する | |
int | CvBegin () |
描画準備を行う | |
int | CvReady () |
描画準備が出来ているか確認する | |
int | CvUpdate () |
描画を更新する | |
int | CvEnd (int update=TRUE) |
描画を終了する | |
void | CvCopyPage () |
コピーページ | |
void | CvSetAntialias (int enable) |
アンチエイリアス機能のON/OFFを行う | |
void | CvColor (int red, int green, int blue) |
カレントペンの色を指定する | |
void | CvColor () |
カレントペンの色を透明色に指定する | |
void | CvSetLineWidth (double width) |
線の太さを設定する | |
void | CvSetDash (int *dashes=NULL, int num=0, int offset=0) |
線種(実線・破線)の指定 | |
void | CvSetFillRule (int rule) |
塗りつぶし規則を指定する | |
void | CvSetLineCap (int cap) |
線の端属性を指定する | |
void | CvSetLineJoin (int join) |
線の接続属性の指定する | |
void | CvSetMiterLimit (int limit) |
線の接続属性「MITER」の限界角度を設定する | |
int | CvSetOperator (int op) |
描画属性を設定する | |
double | CvSetTolerance (double tolerance) |
精度を設定する | |
void | CvNewPath () |
新しいパスを準備する | |
void | CvNewSubPath () |
新しいサブパスを準備する | |
void | CvClosePath () |
パスを閉じる | |
void | CvMoveTo (int x, int y) |
カレントポイントを移動する | |
void | CvMoveToRel (int dx, int dy) |
カレントポイントを相対座標指定で移動する | |
void | CvLineTo (int x, int y) |
カレントパスに直線を追加する | |
void | CvLineToRel (int dx, int dy) |
カレントパスに直線を相対座標指定で追加する | |
void | CvCurveTo (int c1x, int c1y, int c2x, int c2y, int x, int y) |
カレントパスに曲線を追加する | |
void | CvCurveToRel (int c1dx, int c1dy, int cl2dx, int c2dy, int dx, int dy) |
カレントパスに曲線を相対座標指定で追加する | |
void | CvTextPath (const char *text, int size) |
カレントパスに文字列パスを追加する | |
void | CvRectangle (int x, int y, int w, int h) |
カレントパスに矩形を追加する | |
void | CvCircle (int cx, int cy, int radius) |
カレントパスに円形を追加する | |
void | CvCircleNegative (int cx, int cy, int radius) |
カレントパスに円形(反時計周り)を追加する | |
void | CvArc (int xc, int yc, int radius, int deg1, int deg2) |
時計回り円弧を追加 | |
void | CvArcNegative (int xc, int yc, int radius, int deg1, int deg2) |
反時計回り円弧を追加 | |
void | CvPreservePath () |
パスデータの維持を指示する | |
void | CvStroke () |
輪郭線を描く | |
void | CvFill () |
塗りつぶす | |
void | CvClip () |
クリッピングする | |
void | CvResetClip () |
クリッピングを解除する | |
void | CvSave () |
状態を保存する | |
void | CvRestore () |
状態を復元する | |
void | CvTransformTranslate (int tx, int ty) |
変換-平行移動 | |
void | CvTransformScale (double sx, double sy) |
変換-拡大縮小 | |
void | CvTransformRotate (int angle) |
変換-回転 | |
void | CvTransformSlant (int degx, int degy) |
変換-傾斜 | |
void | CvTransformMatrix (double xx, double yx, double xy, double yy, double x0, double y0) |
変換マトリックス | |
void | CvTransformGetMatrix (double &xx, double &yx, double &xy, double &yy, double &x0, double &y0) |
変換マトリックスの取得 | |
void | CvTransformGetMatrixInvert (double &xx, double &yx, double &xy, double &yy, double &x0, double &y0) |
変換マトリックスの取得 | |
void | CvTransformReset () |
変形効果のリセット | |
void | CvTransformDo (SGRect &rect) |
矩形の座標を現在の変換マトリックスで変換します。 | |
void | CvTransformDo (int &x, int &y) |
座標を現在の変換マトリックスで変換します。 | |
void | CvSelectFont (const char *face, int slant, int bold) |
書体選択 | |
void | CvShowText (const char *text, int size) |
文字列を描画する | |
void | CvGetTextExtents (const char *text, int size, int &ascender, int &width, int &height) |
文字列を描画するのに必要なサイズを取得する |
ドロー系の図形描画クラス
指定のキャンバス(SGSurface)へ図を描くことができます。
カイロ(libcairo)というグラフィック描画ライブラリを使用します。
PlusGオリジナルなグラフィック描画クラスSGCanvasDrawというクラスもあります。
┌──────┬────┬────┬────┐ │ │ 精度 │ 機能 │ 速度 │ ├──────┼────┼────┼────┤ │SGCanvasDraw│ 整数 │ 低い │ 早い │ │SGCairoDraw │ 倍精度 │ 高い │ 遅い │ └──────┴────┴────┴────┘
SGCairoDraw | ( | ) |
コンストラクタ
SGCairoDraw | ( | SGSurface * | surface | ) |
コンストラクタ
surface | サーフェース |
~SGCairoDraw | ( | ) | [virtual] |
デストラクタ
void CvSetSurface | ( | SGSurface * | surface | ) |
描画を行うサーフェースを登録する
描画を行うサーフェースを登録します。
SGSurface * CvGetSurface | ( | ) |
登録したサーフェスを取得する
登録したサーフェスを取得します。
int CvBegin | ( | ) |
描画準備を行う
描画準備を行います。
描画の前に必ずコールする必要があります。
グラフィックを使用する為に1度だけコールしてください。
TRUE | 成功 | |
FALSE | 失敗 |
int CvReady | ( | ) |
描画準備が出来ているか確認する
描画準備が出来ているか確認します。
描画準備はCvBegin()で行います。
TRUE | 準備が出来ている状態です | |
FALSE | 準備ができていない状態です |
int CvUpdate | ( | ) |
描画を更新する
描画を更新します。
TRUE | 正常 | |
FALSE | 異常 |
int CvEnd | ( | int | update = TRUE |
) |
描画を終了する
描画を終了する為に1度だけコールします。
描画は反映されます。
TRUE | 正常 | |
FALSE | 異常 |
void CvCopyPage | ( | ) |
コピーページ
現在描画中のページ画像をサーフェースへコピーして反映する。
void CvSetAntialias | ( | int | enable | ) |
アンチエイリアス機能のON/OFFを行う
アンチエイリアス機能のON/OFFを行います。
パレットモード(8Bit mode)の時は設定できません。
enable | ON/OFFTRUE アンチエイリアスする FALSE アンチエイリアスしない |
void CvColor | ( | int | red, | |
int | green, | |||
int | blue | |||
) |
カレントペンの色を指定する
カレントペンの色を指定します。
red | 赤要素(0-255) | |
green | 緑要素(0-255) | |
blue | 青要素(0-255) |
void CvColor | ( | ) |
カレントペンの色を透明色に指定する
カレントペンの色を透明に指定します。
void CvSetLineWidth | ( | double | width | ) |
線の太さを設定する
線の太さを設定します。
width | 太さ |
void CvSetDash | ( | int * | dashes = NULL , |
|
int | num = 0 , |
|||
int | offset = 0 | |||
) |
線種(実線・破線)の指定
破線(実線)の設定を行います。
パラメータを全て省略すると実線を指定します。
dashes | 破線データの配列 | |
num | 配列の数 | |
offset | 開始のオフセット |
void CvSetFillRule | ( | int | rule | ) |
塗りつぶし規則を指定する
塗りつぶしの規定を指定します。
クローズサブパスが複数存在するパスの内側/外側を判定する法則を指定します。
rule | 塗りつぶしの法則CV_FILL_RULE_WINDING パスの方向、右回り/左回りで判断する(規定) CV_FILL_RULE_EVEN_ODD 偶数/奇数で判断する |
void CvSetLineCap | ( | int | cap | ) |
線の端属性を指定する
線の端属性を設定します。
線の端タイプ
cap | 端属性CV_LINE_CAP_BUTT 端なし。ぶつ切り。(規定) CV_LINE_CAP_ROUND 線の太さが直径の半円の端。 CV_LINE_CAP_SQUARE 線の太さの正方形の半分の端。 |
void CvSetLineJoin | ( | int | join | ) |
線の接続属性の指定する
線の接続属性を設定します。
線の接続タイプ
join | 接続属性CV_LINE_JOIN_MITER 真っすに線を延ばして交差させる CV_LINE_JOIN_ROUND 線の太さが直径の円弧でつなぐ CV_LINE_JOIN_BEVEL 端の外角を直線でつなぐ |
void CvSetMiterLimit | ( | int | limit | ) |
線の接続属性「MITER」の限界角度を設定する
線の接続属性に「MITER」を選択した場合の限界角度を設定します。
接続線の角度が、ここで指定した角度より小さい角度(より鋭角)の場合、 接続属性を「BEVEL」に置き換えて線を描きます。
例えば、30を指定した場合、30度の接続線は「MITER」で描画しますが、 29度の接続線は「BEVEL」で描画します。
初期値は約11.4度が設定されています。
limit | 角度deg |
int CvSetOperator | ( | int | op | ) |
描画属性を設定する
op | 属性
CV_OPERATOR_CLEAR CV_OPERATOR_SOURCE CV_OPERATOR_OVER CV_OPERATOR_IN CV_OPERATOR_OUT CV_OPERATOR_ATOP CV_OPERATOR_DEST CV_OPERATOR_DEST_OVER CV_OPERATOR_DEST_IN CV_OPERATOR_DEST_OUT CV_OPERATOR_DEST_ATOP CV_OPERATOR_XOR CV_OPERATOR_ADD CV_OPERATOR_SATURATE |
double CvSetTolerance | ( | double | tolerance | ) |
精度を設定する
tolerance | 精度 |
void CvNewPath | ( | ) |
新しいパスを準備する
新しいパスを準備します。
この関数のコール後、カレントポイント、カレントパスは無くなります。
void CvNewSubPath | ( | ) |
新しいサブパスを準備する
新しいサブパスを準備します
この関数のコール後、カレントポイントは無くなります。
CvMoveTo() を使用した時も同じ効果が得られます。したがって、ほとんどの場合において この関数を使用する必要はありません。
この関数を使用すると便利な場面は、パスの先頭が円弧の時です。
円弧で始まるサブパスの描画準備を CvMoveTo() で行おうとすると円弧の描画開始位置を わざわざ計算し、その場所へ移動しなければならなくなります。
そのような場合に CvNewSubPath() を使うと簡単に開始できます。
void CvClosePath | ( | ) |
パスを閉じる
カレントポイントからパスの始点へ線を追加してパスを閉じます。
パスの始点とは最後に CvMoveTo() を行った点です。
カレントパスを CvStroke() を使って描画する場合は、 CvLineTo() で手動でパスを閉じる場合と CvClosePath() を使用してパスを閉じる場合とでは、結果が違ってきます。 CvLineTo() で始点に向かって線を引いた場合、始点も終点も線の「端」です。接続されていません。
カレントポイントが無い場合、この関数は何の意味もなくなります。
void CvMoveTo | ( | int | x, | |
int | y | |||
) |
カレントポイントを移動する
新しいサブパスを準備します。
この関数を実行するとカレントポイントをx,yに移動します。
x | カレントポイントX | |
y | カレントポイントY |
void CvMoveToRel | ( | int | dx, | |
int | dy | |||
) |
カレントポイントを相対座標指定で移動する
この関数は相対座標指定タイプの CvMoveTo() です。 新しいサブパスを準備します。
この関数を実行するとカレントポイントをdx,dy分移動します。
cp=カレントポイント
CvMoveTo( cpx+dx , cpy+dy );
と等価です。
dx | カレントポイント移動量X | |
dy | カレントポイント移動量Y |
void CvLineTo | ( | int | x, | |
int | y | |||
) |
カレントパスに直線を追加する
カレントパスに直線を追加します。
直線はカレントポイントからx,y座標に引かれます。
カレントポイントがない状態でこの関数を実行すると CvMoveTo() と同じになります。 この関数を終了するとカレントポイントは(x,y)座標になります。
x | 直線の終点座標X | |
y | 直線の終点座標Y |
void CvLineToRel | ( | int | dx, | |
int | dy | |||
) |
カレントパスに直線を相対座標指定で追加する
この関数は相対座標指定タイプの CvLineTo() です。 カレントパスに直線を追加します。
直線はカレントポイントからdx,dy分移動した座標に引かれます。
cp=カレントポイント
CvLineTo( cpx+dx , cpy+dy );
と等価です。
カレントポイントが無い状態でこの関数を実行するとエラー終了となります。 この関数を正常終了するとカレントポイントは(cpx+dx,cpy+dy)座標になります。
dx | 直線の終点座標X(移動量、カレントポイントからの相対で指定) | |
dy | 直線の終点座標Y(移動量、カレントポイントからの相対で指定) |
void CvCurveTo | ( | int | c1x, | |
int | c1y, | |||
int | c2x, | |||
int | c2y, | |||
int | x, | |||
int | y | |||
) |
カレントパスに曲線を追加する
カレントパスに曲線を追加します。
カレントポイントから(x,y)座標に、2つのコントロールポイント(c1x,c1y)(c2x,c2y)を使用した曲線を引きます。
この関数を終了するとカレントポイントは(x,y)座標になります。 カレントポイントがない状態でこの関数を実行すると CvMoveTo(x,y) と同じになります。
c1x | コントロールポイント1X | |
c1y | コントロールポイント1Y | |
c2x | コントロールポイント2X | |
c2y | コントロールポイント2Y | |
x | 曲線の終点座標X | |
y | 曲線の終点座標Y |
void CvCurveToRel | ( | int | c1dx, | |
int | c1dy, | |||
int | c2dx, | |||
int | c2dy, | |||
int | dx, | |||
int | dy | |||
) |
カレントパスに曲線を相対座標指定で追加する
この関数は相対座標指定タイプの CvCurveTo() です。 cp=カレントポイント
CvCurveTo( cpx+c1x,cpy+c1y , cpx+c2x,cpy+c2y , cpx+dx,cpy+dy );
と等価です。
カレントパスに曲線を追加します。
カレントポイントから(cpx+dx,cpy+dy)座標に、2つのコントロールポイント (cpx+c1x,cpy+c1y)(cpx+c2x,cpy+c2y)を使用した曲線を引きます。
カレントポイントが無い状態でこの関数を実行するとエラー終了となります。 この関数を正常終了するとカレントポイントは(cpx+dx,cpy+dy)座標になります。
c1dx | コントロールポイント1X(移動量、カレントポイントからの相対で指定) | |
c1dy | コントロールポイント1Y(移動量、カレントポイントからの相対で指定) | |
c2dx | コントロールポイント2X(移動量、カレントポイントからの相対で指定) | |
c2dy | コントロールポイント2Y(移動量、カレントポイントからの相対で指定) | |
dx | 曲線の終点座標X(移動量、カレントポイントからの相対で指定) | |
dy | 曲線の終点座標Y(移動量、カレントポイントからの相対で指定) |
void CvTextPath | ( | const char * | text, | |
int | size | |||
) |
カレントパスに文字列パスを追加する
カレントパスに文字列textから作成されたクローズドパスを追加します。
追加されたパスを CvFill() で塗りつぶすと CvShowText(text,size) と似た結果になります。
基本的な動作は CvShowText() と同じです。 CvShowText() の説明も参照下さい。
この関数を実行するとカレントポイントは文字列の最後の文字の次の位置へ移動します。
したがって、関数を連続的に使用することが可能です。
text | パスを生成する文字列 | |
size | 文字のサイズ |
void CvRectangle | ( | int | x, | |
int | y, | |||
int | w, | |||
int | h | |||
) |
カレントパスに矩形を追加する
カレントパスに矩形クローズドパスを追加します。
この関数はカレントポイント位置に矩形を追加します。
x | 矩形左下座標X | |
y | 矩形左下座標Y | |
w | 矩形の幅 | |
h | 矩形の高さ |
void CvCircle | ( | int | cx, | |
int | cy, | |||
int | radius | |||
) |
カレントパスに円形を追加する
カレントパスに円形クローズドパスを追加します。
この関数はカレントポイント位置に円形を追加します。
cx | 円の中心のX座標 | |
cy | 円の中心のY座標 | |
radius | 円の半径 |
void CvCircleNegative | ( | int | cx, | |
int | cy, | |||
int | radius | |||
) |
カレントパスに円形(反時計周り)を追加する
カレントパスに円形クローズドパスを追加します。
この関数はカレントポイント位置に円形(反時計周り)を追加します。
cx | 円の中心のX座標 | |
cy | 円の中心のY座標 | |
radius | 円の半径 |
void CvArc | ( | int | xc, | |
int | yc, | |||
int | radius, | |||
int | deg1, | |||
int | deg2 | |||
) |
時計回り円弧を追加
カレントパスに円弧を追加します
弧は(xc,yc)を中心に、半径radius、開始角deg1から終了角deg2まで時計回りで描画されます。
カレントパスが存在する場合、描画された円弧はカレントパスに追加されます。
追加したくない場合はCvNewSubPath()を呼ぶことで回避できます。
角度は3時の位置が0度です。
xc | 円弧の中心座標X | |
yc | 円弧の中心座標Y | |
radius | 半径 | |
deg1 | 開始角度 | |
deg2 | 終了角度 |
void CvArcNegative | ( | int | xc, | |
int | yc, | |||
int | radius, | |||
int | deg1, | |||
int | deg2 | |||
) |
反時計回り円弧を追加
カレントパスに円弧を追加します。
弧は(xc,yc)を中心に、半径radius、開始角deg1から終了角deg2まで反時計回りで描画されます。 カレントパスが存在する場合、描画された円弧はカレントパスに追加されます。
追加したくない場合はCvNewSubPath()を呼ぶことで回避できます。 角度は3時の位置が0度です。
xc | 円弧の中心座標X | |
yc | 円弧の中心座標Y | |
radius | 半径 | |
deg1 | 開始角度 | |
deg2 | 終了角度 |
void CvPreservePath | ( | ) |
パスデータの維持を指示する
輪郭 CvStroke()、塗りつぶし CvFill()、クリップ CvClip() を実行後も パスのデータを維持するように指示します。
通常、CvStroke() CvFill() CvClip() は実行後カレントのパスは消えてしまいます。
この CvPreservePath() をコールしておくとカレントのパスデータが維持されます。
void CvStroke | ( | ) |
輪郭線を描く
カレントのパスをカレントの色、線種、太さで輪郭線を描きます。
コマンド実行後カレントのパスデータは消えてしまいます。
パスデータを維持させたい場合は CvPreservePath() を実行前にコールします。
void CvFill | ( | ) |
塗りつぶす
カレントのパスをカレントの色で塗りつぶします。
コマンド実行後カレントのパスデータは消えてしまいます。
パスデータを維持させたい場合は CvPreservePath() を実行前にコールします。
void CvClip | ( | ) |
クリッピングする
カレントのパス領域をクリッピング領域に指定します。
クリッピング領域設定後は領域外への描画ができなくなります。
void CvResetClip | ( | ) |
クリッピングを解除する
クリッピングを解除します。
void CvSave | ( | ) |
状態を保存する
現在の全ての状態を保存します。
void CvRestore | ( | ) |
状態を復元する
すべての状態を CvSave() で保存した時点に戻します。
void CvTransformTranslate | ( | int | tx, | |
int | ty | |||
) |
変換-平行移動
変形パラメータに平行移動効果を追加します。
(原点が指定した座標に移動します。)
以降の描画に影響を与えます。既に描かれているものには影響しません。
変形効果は現在の値に追加されます。
新たに効果を与える場合はCvTransformReset()で効果をリセットしてください。
tx | X方向移動量 | |
ty | Y方向移動量 |
void CvTransformScale | ( | double | sx, | |
double | sy | |||
) |
変換-拡大縮小
変形パラメータに拡大縮小効果を追加します。
以降の描画に影響を与えます。既に描かれているものには影響しません。
変形効果は現在の値に追加されます。
新たに効果を与える場合はCvTransformReset()で効果をリセットしてください。
sx | X方向拡大縮小係数 | |
sy | Y方向拡大縮小係数 |
void CvTransformRotate | ( | int | deg | ) |
変換-回転
変形パラメータに回転効果を追加します。
原点を中心に時計回りに回転します。 以降の描画に影響を与えます。既に描かれているものには影響しません。
変形効果は現在の値に追加されます。
新たに効果を与える場合はCvTransformReset()で効果をリセットしてください。
deg | 回転角度 |
void CvTransformSlant | ( | int | degx, | |
int | degy | |||
) |
変換-傾斜
変形パラメータに傾斜効果を追加します。
以降の描画に影響を与えます。既に描かれているものには影響しません。
変形効果は現在の値に追加されます。
新たに効果を与える場合はCvTransformReset()で効果をリセットしてください。
degx | X方向傾斜角 | |
degy | Y方向傾斜角 |
void CvTransformMatrix | ( | double | xx, | |
double | yx, | |||
double | xy, | |||
double | yy, | |||
double | x0, | |||
double | y0 | |||
) |
変換マトリックス
変換マトリックスを使用して変形パラメータを設定します。
以降の描画に影響を与えます。既に描かれているものには影響しません。
変形効果は現在の値に追加されます。
新たに効果を与える場合はCvTransformReset()で効果をリセットしてください。
xx | アフィン変換係数 | |
yx | アフィン変換係数 | |
xy | アフィン変換係数 | |
yy | アフィン変換係数 | |
x0 | アフィン変換係数 | |
y0 | アフィン変換係数 |
アフィン変換(3×3のマトリックス) xx , xy , x0 yx , yy , y0 0 , 0 , 1 移動 1 , 0 , X移動量 0 , 1 , Y移動量 0 , 0 , 1 拡大縮小 倍率X, 0 , 0 0 , 倍率Y, 0 0 , 0 , 1 回転 d=角度 cos(d),-sin(d), 0 sin(d), cos(d), 0 0 , 0 , 1
void CvTransformGetMatrix | ( | double & | xx, | |
double & | yx, | |||
double & | xy, | |||
double & | yy, | |||
double & | x0, | |||
double & | y0 | |||
) |
変換マトリックスの取得
現在の変換マトリックスを取得します。
xx | アフィン変換係数 | |
yx | アフィン変換係数 | |
xy | アフィン変換係数 | |
yy | アフィン変換係数 | |
x0 | アフィン変換係数 | |
y0 | アフィン変換係数 |
アフィン変換(3×3のマトリックス) xx , xy , x0 yx , yy , y0 0 , 0 , 1
void CvTransformGetMatrixInvert | ( | double & | xx, | |
double & | yx, | |||
double & | xy, | |||
double & | yy, | |||
double & | x0, | |||
double & | y0 | |||
) |
変換マトリックスの取得
現在の変換マトリックスを取得します。
xx | アフィン変換係数 | |
yx | アフィン変換係数 | |
xy | アフィン変換係数 | |
yy | アフィン変換係数 | |
x0 | アフィン変換係数 | |
y0 | アフィン変換係数 |
アフィン変換(3×3のマトリックス) xx , xy , x0 yx , yy , y0 0 , 0 , 1
void CvTransformReset | ( | ) |
変形効果のリセット
変形パラメータをリセットします。
全ての効果が初期化されます。
void CvTransformDo | ( | SGRect & | rect | ) |
矩形の座標を現在の変換マトリックスで変換します。
パラメータrectで与えられた矩形の4点座標を現在の変換マトリックスで変換します。
void CvTransformDo | ( | int & | x, | |
int & | y | |||
) |
座標を現在の変換マトリックスで変換します。
パラメータ(x,y)で与えられた座標を現在の変換マトリックスで変換します。
void CvSelectFont | ( | const char * | face, | |
int | slant, | |||
int | bold | |||
) |
書体選択
書体を選択します。
この関数で選択された書体は CvTextPath() CvShowText() CvGetTextExtents() で使用されます。
face | フェース名を指定します | |
slant | 斜体文字 FALSE:通常 TRUE:斜体 | |
bold | 太字 FALSE:通常 TRUE:太字 |
void CvShowText | ( | const char * | text, | |
int | size | |||
) |
文字列を描画する
文字の描画
text | 描画する文字列 | |
size | 文字のサイズ |
void CvGetTextExtents | ( | const char * | text, | |
int | size, | |||
int & | ascender, | |||
int & | width, | |||
int & | height | |||
) |
文字列を描画するのに必要なサイズを取得する
text文字列をsizeの大きさで描画する場合に必要な領域を得ます。
text | 文字列 | |
size | 文字のサイズ | |
ascender | ベースラインから上のサイズ(高さ) | |
width | 文字列全体の幅 | |
height | 文字列全体の高さ |