Draw Lines, Circle and Rectangle
Those below commands support clear and reverse function by adding new parameters C or X at the end;
- Line
- F-Line
- Circle
- Rect(
- FillRect(
Add [,C] to clear and [,X] to reverse the drawn patterns.
(example) F-Line 1,1,30,20,X
Text
(説明) コマンドの最後に[,R]で反転表示、[,O]でOr表示、[,V]で反転Or表示が出来ます。
[.N] Normal
[.R] Reverse
[,O] Or
[,V] reVerse or
(例)Text 20,80,"Test",R
"Test"がグラフィック座標(80,20)に反転表示で表示されます。
LocateXY
(説明)グラフィック画面にLocateと同じサイズの文字表示が出来ます。
座標指定はTextコマンドと同じくY座標が先になります。
コマンドの最後に[,R]で反転表示となります。
(例)LocateYX 20,80,"Test",R
"Test"がグラフィック座標(80,20)に反転表示で表示されます。
ReadGraph(
(説明)グラフィック画面のビットマップデータをビット単位で読み取ります。
(書式)ReadGraph(px1,py1,px2,py2)→Mat A
グラフィック画面の(px1,py1)-(px2,py2)の範囲をMat A行列に取り込みます。
行列は事前に確保しておく必要はありません。自動的に適切な行列サイズで確保します。
行列の型指定が無い場合は1ビット型になります。
WriteGraphコマンドでそのまま使えるデータとなります。
WriteGraph
(説明)ビットマップデータを表示します。
ビットマップデータは予めMat行列に入力しておきます。
(書式1)WriteGraph x,y,dx,dy,Mat A ,P1[,P2]
グラフィック画面の座標(x,y)より幅dx、高さdyの範囲にMat Aのデータを描画します。
P1はデータの表示前加工指定で[,N]でそのまま加工無し、[,R]で反転、[,M]でメッシュ加工、
P2は指定無しでオーバーライト表示、[,A]でAnd表示、[,O]でOr表示、[,X]でXor表示となります。
(例)[[1,2,4,8,16,32,64,128]]→Mat A
WriteGraph 80,20, 8,8, Mat A, N
グラフィック画面の座標(80,20)より斜めの線[/]が描画されます。
(書式2)WriteGraph x,y,dx,dy,Mat A[m,n] ,P1[,P2]
グラフィック画面の座標(x,y)より幅dx、高さdyの範囲にMat Aの[m,n]からのデータを描画します。
(例)[[16,32,64,128][128,64,32,16]]→Mat A
WriteGraph 80,20, 4,4, Mat A[1,1], N
WriteGraph 80,24, 4,4, Mat A[2,1], N
グラフィック画面の座標(80,20)より[<]の図形が描画されます。
WriteGraph 80,20, 4,8, Mat A, N
でも同じ結果となります。
ビットマップデータは8ビット単位で左上が基準になります。
DotGet(
(例)DotGet( px1,py1, px2,py2)→Mat A[x,y]
画面上の(px1,py1)-(px2,py2)の範囲をMat A[x,y]を始点として取り込みます。
指定範囲よりも行列が足りない場合は行列サイズまで取り込みます。
DotPut(
(例)DotPut( Mat A, x,y, px1,py1, px2,py2)
Mat A行列の(x,y)の要素を始点として、画面上の(px1,py1)-(px2,py2)の範囲に点を打ちます。
(例)DotPut( Mat A[x,y], x1,y1, x2,y2)→Mat B
Mat A行列の[x,y]を始点として、Mat Bの[x1,y1]-[x2,y2]の範囲にコピーします。
Mat Bがコピー範囲が収まる広さを確保していない場合は、Mat Bに収まる範囲でコピーします。
グラフィック画面への転送は行いません。
(例)DotPut( Mat A[x,y], x1,y1, x2,y2)
Mat A行列の(x,y)の要素を始点として、画面上の(px1,py1)-(px2,py2)の範囲に点を打ちます。
DotTrim(
(例)DotTrim(Mat A, x1,y1,x2,y2)→Mat B
Mat行列内の[X1,y1]-[x2,y2]範囲の0ではないデータの矩形領域をトリミングしてMat B行列にコピーします。
コピーする行列が確保されてない場合は新たに確保されます。
(例)DotTrim(px1,py1,px2,py2)→Mat A
グラフィック画面からトリミング入力、
グラフィックの(px1,py1)-(px2,py2)の範囲のドットが打たれている矩形領域をMat A行列にコピーします。
どちらの場合も、矩形領域サイズ(Mat行列の確保サイズ)はX,Y変数に自動的に入ります。
0ではないデータの矩形領域の右上X,Y座標は小文字変数x,yに自動的に入ります。