グラフィック

GTARGET 描画対象ページ

グラフィック描画対象ページを指定する

引数

描画対象ページ

0~5 GRP0~GRP5

GTARGET 0

GTARGET()

現在のグラフィック描画対象ページを取得する

返値

描画対象ページ

WP=GTARGET()

GCOLOR 色コード

グラフィック描画色を指定する

引数

色コード

・色を8桁の16進数で表わしたもの。
・&HAARRGGBBと、A,R,G,Bそれぞれ2桁指定する。
・Aは透明度,Rは赤,Gは緑,Bは青の強さを0~255(&H00~&HFF)で指定する。
・A(透明度)は0が完全に透明、255で完全に不透明。
・RGB関数、または#C_ではじまる色定数を使うと簡単に指定できる。

GCOLOR &HFF0A141E
GCOLOR RGB(255,10,20,30)
GCOLOR #C_BLUE

GCOLOR()

グラフィック描画色を取得する

返値

グラフィック描画色

C = GCOLOR()

RGB(R,G,B)
RGB(A,R,G,B)

RGB値から色コードを計算する

引数

A

透明度:0~255
・省略時は255。

R,G,B

色の要素:R,G,Bそれぞれ 0~255

・色の例。

RGB(0,0,0)
RGB(255,255,255)
薄いグレー RGB(224,224,224)
グレー RGB(128,128,128)
濃いグレー RGB(64,64,64)
RGB(255,0,0)
ピンク RGB(255,96,208)
RGB(160,32,255)
水色 RGB(80,208,255)
RGB(0,32,255)
黄緑 RGB(96,255,128)
RGB(0,192,0)
黄色 RGB(255,224,32)
オレンジ RGB(255,160,16)
茶色 RGB(160,128,96)
薄紅色 RGB(255,208,160)

返値

引数から計算された色コード

C1=RGB(0,100,200)
C2=RGB(128,0,100,200)

RGB(色コード,[A],[R],[G],[B])

色コードの各成分を置き換える

引数

色コード

置き換え元となる色コード

A,R,G,B

置き換える色成分
・値は0~255で指定する。
・それぞれ省略すると置き換え元色コードの対応成分がそのまま使われる。

返値

引数から計算された色コード

C1=RGB(#C_RED, 127,,,) '半透明赤
C2=RGB(#C_BLUE,,255,,) '紫

RGB 色コード OUT R,G,B
RGB 色コード OUT A,R,G,B

色コードからRGBの各成分を取得する

引数

色コード

ARGB各8ビットの色コード
・色コードの説明はGCOLORを参照。

返値

A

指定した色コードの透明度情報を受け取る変数
・0~255の値が返る。

R,G,B

指定した色コードの色成分情報を受け取る変数
・それぞれ0~255の値が返る。

RGB C OUT R,G,B

RGBF(R,G,B)
RGBF(A,R,G,B)

実数のRGB値から色コードを計算する

引数

A

透明度:0~1.0
・省略時は1.0。

R,G,B

色の要素:R,G,Bそれぞれ 0~1.0

返値

引数から計算された色コード

RGBF(色コード,[A],[R],[G],[B])

色コードの各成分を置き換える

引数

色コード

置き換え元となる色コード

A,R,G,B

置き換える色成分
・値は0~1.0で指定する。
・それぞれ省略すると置き換え元色コードの対応成分がそのまま使われる。

返値

引数から計算された色コード

C1=RGBF(#C_RED, 0.5,,,) '半透明赤
C2=RGBF(#C_BLUE,,1.0,,) '紫

RGBF 色コード OUT R,G,B
RGBF 色コード OUT A,R,G,B

色コードからRGBの各成分を取得する(実数版)

引数

色コード

色成分を取得する色コード
・色コードの説明はGCOLORを参照。

返値

A

指定色コードの透明度情報を受け取る変数
・0~1.0の値が返る。

R,G,B

指定色コードの色成分情報を受け取る変数
・それぞれ0~1.0の値が返る。

HSV(色相,彩度,明度 [,透明度])

HSV値から色コードを計算する

引数

色相

色の種類(H):正の値
・角度と同じで、360を超えると0と同じ色に戻る扱いになる。
・数が大きくなると赤→黄→緑→青→紫となめらかに変化する。

彩度

色のあざやかさ(S):0~255
・数が小さいほど白っぽくなる。

明度

色の明るさ(V):0~255
・0は黒、255は一番明るい状態をあらわす。

透明度

返値の色コードに設定する透明度:0~255
・省略時は255。

返値

HSV値相当の色コード

GCLS HSV(100,100,100,100)

FOR I=0 TO 360
GPSET I,10,HSV(I,255,255)
NEXT

HSV 色コード OUT 色相,彩度,明度 [,透明度]

色コードをHSV値に変換する

引数

色コード

変換したい色コード
・色コードの説明はGCOLORを参照。

返値

色相

指定した色の色相
・0~360の値が返る。

彩度

指定した色の彩度
・0~255の値が返る。

明度

指定した色の明度
・0~255の値が返る。

透明度

指定した色の透明度
・0~255の値が返る。

HSV RGB(192,128,0) OUT H,S,V
?H,S,V

HSVF(色相,彩度,明度[,透明度])

HSV値から色コードを計算する(実数版)

引数

色相

色の種類(H):正の値
・0~1で色の種類を指定する。
・数が大きくなると赤→黄→緑→青→紫となめらかに変化する。
・1を超えると0と同じ色に戻る。

彩度

色のあざやかさ(S):0~1
・数が小さいほど白っぽくなる。

明度

色の明るさ(V):0~1
・0は黒、1は一番明るい状態をあらわす。

透明度

返値の色コードに設定する透明度:0~1
・省略時は1。

返値

HSV値相当の色コード

GCLS HSVF(0.4,0.4,0.4,0.4)

FOR I=0 TO 360
GPSET I,10,HSVF(I/360,1,1)
NEXT

HSVF 色コード OUT 色相,彩度,明度[,透明度]

色コードをHSV値に変換する(実数版)

引数

色コード

変換したい色コード
・色コードの説明はGCOLORを参照。

返値

色相

指定した色の色相
・0~1.0の値が返る。

彩度

指定した色の彩度
・0~1.0の値が返る。

明度

指定した色の明度
・0~1.0の値が返る。

透明度

指定した色の透明度
・0~1.0の値が返る。

HSVF RGB(192,128,0) OUT H,S,V
?H,S,V

GCLIP [始点X,始点Y,終点X,終点Y]

グラフィックページの書き込みクリッピング領域を指定する

・クリッピング領域を指定すると、以後のグラフィック描画命令は指定範囲内のみが操作対象となる。
・引数を全て省略すると、グラフィックページ全体を指定した事になる。

引数

始点X,Y

クリッピング領域の始点座標(X,Y共に0~2047)

終点X,Y

クリッピング領域の終点座標(X,Y共に0~2047)

GCLIP 100,100,200,200

GCLIP OUT 始点X,始点Y,終点X,終点Y

グラフィックページの書き込みクリッピング領域を取得する

返値

始点X,Y

クリッピング領域の始点座標

終点X,Y

クリッピング領域の終点座標

GCLIP OUT LEFT,TOP,RIGHT,BOTTOM

GCLS [色コード]

グラフィックページの内容を指定色で塗りつぶす

・塗りつぶされる範囲はGCLIPの設定範囲。

引数

色コード

塗りつぶしに使用する色コード
・色コードの説明はGCOLORを参照。
・省略時は0(透明色)で塗りつぶされる。

GCLS RGB(32,32,32)

GPGET(座標X,座標Y)

グラフィックページの指定座標の色を取得する

引数

座標X,Y

色を取得する座標
・グラフィックページ範囲外の座標を指定すると0が返る。

返値

指定座標のピクセルの色コード
・色コードの説明はGCOLORを参照。

C=GPGET(100,100)

GPSET 座標X,座標Y[,色コード[,描画方法]]

グラフィックページに点を打つ

引数

座標X,Y

点を打つ座標

色コード

描画する点の色
・色コードの説明はGCOLORを参照。
・省略時はGCOLORで設定した色を使用する。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

・省略時は0。

GPSET 100,50

GLINE 始点X,始点Y,終点X,終点Y[,色コード[,描画方法]]

グラフィックページに直線を引く

引数

始点X,Y

始点座標

終点X,Y

終点座標

色コード

描画する線の色
・色コードの説明はGCOLORを参照。
・省略時はGCOLORで設定した色を使用する。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

・省略時は0。

GLINE 0,0,399,239,RGB(0,255,255)

GCIRCLE 中心点X,中心点Y,半径[,色コード[,描画方法]]

グラフィックページに円を描く

引数

中心点X,Y

中心点座標

半径

円の半径(ドット) 1~

色コード

描画する円の色
・色コードの説明はGCOLORを参照。
・省略時はGCOLORで設定した色を使用する。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

・省略時は0。

GCIRCLE 200,120,30

GCIRCLE 中心点X,中心点Y,半径,開始角,終了角,フラグ[,色コード[,描画方法]]

グラフィックページに円弧を描く

引数

中心点X,Y

中心点座標

半径

円の半径(ドット) 1~

開始角,終了角

円弧の書き始めの角度と書き終わりの角度
・時計の3時の方向が0度で、時計回りに角度が進む。
・0~360以外の値は0~360以内の値に丸められる。例えば-20は340と同じ意味。

フラグ

0 円弧
1 扇型

色コード

描画する円弧の色
・色コードの説明はGCOLORを参照。
・省略時はGCOLORで設定した色を使用する。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

・省略時は0を指定した事になる。

GCIRCLE 200,120,30,0,45,1

GBOX 始点X,始点Y,終点X,終点Y[,色コード[,描画方法]]

グラフィックページに四角形を描く

引数

始点X,Y

始点座標

終点X,Y

終点座標

色コード

描画する四角形の色
・色コードの説明はGCOLORを参照。
・省略時はGCOLORで設定した色を使用する。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

・省略時は0。

GBOX 0,0,399,239

GFILL 始点X,始点Y,終点X,終点Y[,色コード[,描画方法]]

グラフィックページに四角形を描いて塗りつぶす

引数

始点X,Y

始点座標

終点X,Y

終点座標

色コード

描画する四角形の色
・色コードの説明はGCOLORを参照。
・省略時はGCOLORで設定した色を使用する。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

・省略時は0。

GFILL 0,0,399,239

GPAINT 開始点X,開始点Y[,塗りつぶし色]
GPAINT 開始点X,開始点Y[,塗りつぶし色,境界色]

グラフィックページを塗りつぶす

・境界色省略時、開始点座標にある色の範囲を塗る。

引数

開始点X,Y

塗りつぶしを開始する座標

塗りつぶし色

塗りつぶしに使用する色
・色コードの説明はGCOLORを参照。
・省略するとGCOLORで設定した色を使用する。

境界色

塗りつぶしの境界として見る色
・省略時は塗りつぶし色と異なる色をすべて境界として見る。

GPAINT 200,120,RGB(255,0,0),RGB(0,0,0)

GCOPY [転送元ページ,]始点X,始点Y,終点X,終点Y,転送先X,転送先Y,描画方法

他のグラフィックページから画像をコピーする

引数

転送元ページ

省略時 現在の描画ページ
0~5 GRP0~GRP5

始点X,Y 終点X,Y

コピー元範囲の始点座標と終点座標

転送先X,Y

コピー先範囲の始点座標

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

GCOPY 0,0,0,100,100,200,100 ,1

GCOPY 転送元ページ,始点X,始点Y,終点X,終点Y,転送先X,転送先Y,色コード,描画方法

他のグラフィックページから画像をコピーする

引数

転送元ページ

コピー元のグラフィックページ:0~5

始点X,Y 終点X,Y

コピー元範囲の始点座標と終点座標

転送先X,Y

コピー先範囲の始点座標

色コード

コピー元のピクセルと乗算する色コード

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

GCOPY 0,0,0,100,100,200,100,#C_RED,1

GSAVE [転送元ページ,][X,Y,幅,高さ,]転送先配列

画像を配列へコピーする

引数

転送元ページ

省略時 現在の描画ページ
0~5 GRP0~GRP5

X,Y,幅,高さ

コピー元範囲の始点X,Y座標,幅,高さ
・省略時は現在のクリッピング領域を使用する。

転送先配列

画像を格納する配列変数
※配列の要素が不足する場合、1次元配列に限り自動追加される

DIM WORK[0]
GSAVE 0,0,0,512,512,WORK

GLOAD [X,Y,幅,高さ,]画像配列,描画方法
GLOAD [X,Y,幅,高さ,]画像配列,色コード,描画方法

画像データを配列からグラフィックページにコピーする

引数

X,Y,幅,高さ

コピー先範囲の始点X,Y座標,幅,高さ
・省略時は現在のクリッピング領域を使用する。

画像配列

GSAVEによって画像データが格納された数値配列

色コード

画像配列内の画像データと乗算する色コード
・省略時は画像配列がそのまま使用される。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

GLOAD 0,0,512,512,WORK,0
GLOAD WORK,#C_RED,0

GLOAD [X,Y,幅,高さ,]インデックス画像配列,パレット配列,描画方法
GLOAD [X,Y,幅,高さ,]インデックス画像配列,パレット配列,色コード,描画方法

画像データをインデックス画像配列から色変換しながらグラフィックページにコピーする

引数

X,Y,幅,高さ

コピー先範囲の始点X,Y座標,幅,高さ(ドット)
・省略時は現在のクリッピング領域を使用する。

インデックス画像配列

インデックス画像形式で保存された画像が格納された数値配列

パレット配列

パレットデータが格納された数値配列
・パレットデータは、インデックス画像内で使用する最大数より多い要素数の数値配列で、各要素にはインデクス画像内の数値に対応する色コードが入る。

色コード

画像配列内の画像データと乗算する色コード
・省略時は画像配列がそのまま使用される。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

GLOAD 0,0,512,512,WORK,PALETTE,0
GLOAD WORK,PALETTE,#C_BLUE,1

GTRI X1,Y1,X2,Y2,X3,Y3[,色コード[,描画方法]]

グラフィックページに三角形を描いて塗りつぶす

引数

X1,Y1

頂点1

X2,Y2

頂点2

X3,Y3

頂点3

色コード

描画する三角形の色
・色コードの説明はGCOLORを参照。
・省略時はGCOLORで設定した色を使用する。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

・省略時は0。

GTRI 200,10,300,200,100,200

GPUTCHR X,Y,"文字列"[,フォント種類[,色コード[,描画方法]]]
GPUTCHR X,Y,"文字列",フォント種類,スケールX,スケールY,色コード[,描画方法]

グラフィックページに文字を描く

引数

X,Y

表示座標

文字列

表示する文字列
・文字列のかわりに整数値を指定した場合、値を文字コードとして扱い、指定されたコードの文字1文字分の描画幅を計算する。

フォント種類

参照するフォントの種類。8または16を指定可能。
・省略時は16。

スケールX,Y

表示倍率:1~32767
・省略時は1,1(等倍)が指定される。

色コード

描画する文字の色
・色コードの説明はGCOLORを参照。
・省略時はGCOLORで設定した色を使用する。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

・省略時は0。

GPUTCHR 10,10,"あいう" 
GPUTCHR 10,10,&H60

GPUTCHRP X,Y,"文字列"[,フォント種類[,色コード[,描画方法]]]
GPUTCHRP X,Y,"文字列",フォント種類,スケールX,スケールY,色コード[,描画方法[,文字間隔]]

グラフィックページにプロポーショナル文字を描く

引数

X,Y

表示座標

文字列

表示する文字列
・文字列のかわりに整数値を指定した場合、値を文字コードとして扱い、指定されたコードの文字1文字を描画する。

フォント種類

参照するフォントの種類。8または16を指定可能。
・省略時は16。

スケールX,Y

表示倍率:1~32767
・省略時は1,1(等倍)が指定される。

色コード

描画する文字の色
・色コードの説明はGCOLORを参照。
・省略時はGCOLORで設定した色を使用する。

描画方法

0 単純描画 #G_NORMAL
1 透明度が0以外の時単純描画 #G_NORMAL2
2 半透明描画 #G_ALPHA
3 描画先の透明度も考慮して半透明描画 #G_ALPHA2
4 加算描画 #G_ADD

・省略時は1。

文字間隔

文字と文字の間隔(ピクセル数):0~64
・省略時は1。

GPUTCHRP 10,10,"ABC" 
GPUTCHRP 10,10,&H55

GPUTCHRP("文字列"[,フォント種類[,スケールX[,文字間隔]]])

GPUTCHRPで文字列を描画する場合の描画幅を計算する

引数

文字列

表示幅を計算する文字列
・文字列のかわりに整数値を指定した場合、値を文字コードとして扱い、指定されたコードの文字1文字分の描画幅を計算する。

フォント種類

参照するフォントの種類。8または16を指定可能。
・省略時は16。

スケールX

表示倍率:1~32767
・省略時は1(等倍)が指定される。

文字間隔

文字と文字の間隔(ピクセル数):0~64
・省略時は1。

返値

GPUTCHRPで描画する際の描画幅(ピクセル)

W=GPUTCHRP("ABC")
W2=GPUTCHRP(&H55,16,1,2)

GARRAY(グラフィックページ)

グラフィックページの内容を表す整数配列を取得する

・グラフィックページを整数型2次元配列として直接読み書きが可能。
・書き込んだ結果を反映するにはGUPDATEを使用する。

引数

グラフィックページ

・配列を取得する対象のページを指定する。

0~5 GRP0~GRP5

返値

対象ページの内容を表す整数型2次元配列。

G=GARRAY(0)
G[0,0]=#C_WHITE
PRINT HEX$(G[100,100])

GUPDATE グラフィックページ[,始点X,始点Y,終点X,終点Y]

GARRAYによる書き込み内容を表示に反映させる

・通常のグラフィック描画命令では内部でGUPDATE相当の処理を行っているため、描画命令実行後にGUPDATEを使用しても何の効果もない。
・GUPDATEを使用しなくても、書き込み座標付近に他の描画命令で書き込みを行うと自動的に反映が行われる。

引数

グラフィックページ

反映を行うグラフィックページ

0~5 GRP0~GRP5

始点X,始点Y,終点X,終点Y

反映を行いたい四角形領域の始点と終点座標(各0~2047)
・座標指定はヒント情報として扱われ、領域からはみでた部分が更新される事もある。

G=GARRAY(0)
G[0,0]=#C_WHITE
GUPDATE 0

GSAMPLE グラフィックページ,サンプリングタイプ

グラフィックページのサンプリング方法を設定する

・サンプリングとは、スプライトやテキストスクリーンでグラフィックページから色を参照する際に、UV座標からグラフィックページのどの座標を参照するかを決める事。
・スプライト単位・テキストスクリーン単位・レイヤー単位に変更する事はできない 。

引数

グラフィックページ

設定を行うグラフィックページ: 0~5

サンプリングタイプ

0 ボーダー(0~2047以外のUV座標は透明色になる)
1 リピート(グラフィックページが0~2047の外にもずっと繰り返しているように扱う)

GSAMPLE(グラフィックページ)

グラフィックページのサンプリング方法を取得する

引数

グラフィックページ

設定を取得するグラフィックページ: 0~5

返値

現在設定されているサンプリングタイプ