描画とテキスト出力
述語名/引数 | (eg:SetPen *r *g *b *size) |
要約 | ペンの色と太さを設定します。 |
互換性 | Win |
解説 | *r *g *b 光の三原色を指定します。それぞれ赤、緑、青です。それぞれの値の範囲は0〜255です。 *size ペンの太さをビット単位で指定します。 ペンは、線を描画する操作で、にその設定が使われます。 |
述語名/引数 | (eg:SetTextColor *r *g *b) |
要約 | 文字の色を指定します。 |
互換性 | Win |
解説 | *r *g *b 光の三原色を指定します。それぞれ赤、緑、青です。それぞれの値の範囲は0〜255です。 |
述語名/引数 | (eg:SetBrush *r *g *b) |
要約 | ブラシの色を指定します。 |
互換性 | Win |
解説 | ブラシは、塗りつぶす操作で使われます。 |
述語名/引数 | (eg:Rectangle *x1 *y1 *x2 *y2) |
要約 | 矩形を描画します。 |
引数 | *x1 [in] 矩形の左上のx座標を表す整数です。 *y1 [in] 矩形の左上のy座標を表す整数です。 *x2 [in] 矩形の右下のx座標を表す整数です。 *y2 [in] 矩形の右下のy座標を表す整数です。 |
成功/失敗 | true 正しく描画が行なえた。 false 上記以外。 |
互換性 | Win |
解説 | 描画の色はブラシの設定を使います。 |
述語名/引数 | (eg:Fill *x *y *r *g *b *fillType) |
要約 | 領域をブラシで塗りつぶします。 |
互換性 | Win |
解説 | *x *y 塗りつぶし開始点を指定します。 *r *g *b 境界または、塗りつぶす色を光の三原色で指定します。 *fillType 塗りつぶす方法を指定します。 0 境界の内側を塗りつぶします。 1 開始点から連続した色を置き換えます。 *fillTypeに0を指定した場合、*r *g *b は境界線の色を表します。 |
述語名/引数 | (eg:SetPixel *x *y *r *g *b) |
要約 | 点を描画します。 |
互換性 | Win |
解説 | *x *y 点の座標です。 *r *g *b 光の三原色を指定します。 |
以下の例では太さの異なる線分を描画します。
(as (test) :(loadModule "eggraph.dll" *2)(test2))
(as (test2):(eg:CreateWindow 10 20 640 480 "線の太さ")
(eg:SetPen 0 0 0 1)
(eg:Line 10 50 600 50)
(eg:SetPen 255 0 0 2)
(eg:Line 10 100 600 100)
(eg:SetPen 0 255 0 4)
(eg:Line 10 150 600 150)
(eg:SetPen 0 0 255 8)
(eg:Line 10 200 600 200)
(eg:SetPen 100 100 50 16)
(eg:Line 10 250 600 250)
(eg:SetPen 100 255 0 32)
(eg:Line 10 300 600 300)
(eg:Update)
(eg:SaveScreen "test.bmp")
(loop))
(as (loop):(eg:GetMessage ?)(loop))
述語名/引数 | (eg:Line *x *y) (eg:Line *x1 *y1 *x2 *y2) |
要約 | 線を描画します。 |
互換性 | Win |
解説 | 前者の形式は、設定された開始点から*x *yで指定された終了点し線を描画します。開始点はeg:Moveまたは、直前に呼ばれたeg:Lineによって設定されます。次回の開始点は終了点(*x,
*y)です。 後者の形式は、開始点と終了点を同時に指定します。次回の開始点は、終了点(*x2, *y2)です。 |
以下の例では三角形を描画し塗りつぶします。
(as (test) :(loadModule "eggraph.dll" *2)(test2))
(as (test2):(eg:CreateWindow 10 20 640 480 "線と塗りつぶし")
(eg:SetBrush 0 255 0)
(eg:Move 10 10)
(eg:Line 10 400)
(eg:Line 600 400)
(eg:Line 10 10)
(eg:Fill 200 200 255 255 255 ;rgb
1) ;Fill type
(eg:SetPixel 200 200 255 255 255)
(eg:Line 200 195 300 100)
(eg:TextOut 300 90 "塗りつぶし開始点")
(eg:Update)
(loop))
(as (loop):(eg:GetMessage ?)(loop))
述語名/引数 | (eg:Move *x *y) |
要約 | 線描画の開始点を設定します。 |
互換性 | Win |
解説 | このルールは何も描画しません。 |
述語名/引数 | (eg:SetFont *h *w *escape *or *we *it *u *st *cs *name) |
要約 | フォントを設定します。 |
互換性 | Win |
解説 | *h 文字の高さを指定します。 *w 文字の幅を指定します。 *escape X軸との角度を0.1度単位で指定します。 *or *escapeと同じ値を指定してください。 *we 文字のウェイトを指定します。範囲は0〜1000です。400で標準です。 *it 斜字体を指定します。1のとき斜字体、0のとき斜字体なし *u 下線を指定します。1のとき下線、0のとき下線なし *st ボールドを指定します。1のときボールド、0のときボールドなし *cs キャラクタセットを指定します。日本語対応フォントのときSHIFTJIS、英文のみのときANSI。他に、DEFAULT SYMBOL HANGEUL HANGUL GB2312 CHINESEBIG5 JOHAB HEBREW ARABIC GREEK TURKISH VIETNAMESE THAI EASTEUROPE RUSSIAN MAC BALTICが指定可能です。 *name フォント名を指定します。 |
述語名/引数 | (eg:TextOut *x *y *text) |
要約 | 文字を描画します。 |
互換性 | Win |
解説 | eg:SetTextColorで指定された色、eg:SetFontで指定されたフォントで文字を描画します。 |
以下の例では、フォントと色を指定した文字を描画します。
(as (test) :(loadModule "eggraph.dll" *2)(test2))
(as (test2):(eg:CreateWindow 10 20 640 480 "今日は!")
(eg:SetFont 60 0 0 0 400 0 0 0 SHIFTJIS "MS 明朝")
(eg:SetTextColor 0 0 255)
(eg:TextOut 250 230 "HELLO!")
(eg:Update)
(loop))
(as (loop):(eg:GetMessage ?)(loop))
述語名/引数 | (eg:Arc *x *y *r *startAngle *sweepAngle) (eg:Arc *x1 *y1 *x2 *y2 *sx *sy *ex *ey) |
要約 | 第一形式は正円または弧を描画します。 第二形式は楕円または楕円弧を描画します。 |
互換性 | Win |
引数 | 第一形式 *x [in, 整数] 円の中心のX座標 *y [in, 整数] 円の中心のY座標 *r [in, 整数] 半径 *startAngle [in, 実数] 弧の描画を開始するX座標からの角度。単位は度。 *sweepAngle [in, 実数] *startAngleから弧を描画する角度。単位は度。 第二形式(引数は全て整数) |
成功/失敗 | true 描画が正しく行なわれた false 上記以外 |
解説 | 第一形式では、引数*startAngleと*sweepAngleに実数を指定することに注意してください。 第二形式では、*sx、*syで指定される点と楕円の中心で、この2点を通る直線を指定します。指定された直線と楕円の交点が描画開始点になります。*exと*eyは*sxと*syと同様 の方法で描画終了点を指定します。 |