|目次|前ページ|次ページ|
────────────────────────────────────
8.グラフィック画面制御シーケンス(Windows版)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆98互換16色モードカラーグラフィックモード
<パレット番号><カラー> <パレット番号><カラー>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
0 (黒) 8 (灰)
1 (青) 9 (暗い青)
2 (赤) 10 (暗い赤)
3 (紫) 11 (暗い紫)
4 (緑) 12 (暗い緑)
5 (水色) 13 (暗い水色)
6 (黄色) 14 (暗い黄色)
7 (白) 15 (暗い白)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆DOS/V互換16色モードカラーグラフィックモード
<パレット番号><カラー> <パレット番号><カラー>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
0 (黒) 8 (灰)
1 (青) 9 (薄い青)
2 (緑) 10 (薄い緑)
3 (水色) 11 (薄い水色)
4 (赤) 12 (薄い赤)
5 (紫) 13 (薄い紫)
6 (茶色) 14 (薄い黄)
7 (白) 15 (明るい白)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●グラフィック機能を使用したサンプル画面
──────────────────────────────────
──────────────────────────────────
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ 点線を描画するシーケンスは、MS−DOS版と互換がありません。
◆16色から 64色に拡張されました。(中間色の利用が可能です)
◆30種類の タイルパターンが予め用意されています。
◆Windows版では、 ハッチパターンができます。
◆ 画面解像度は、フォントセルサイズと画面行桁サイズに依存しますが、
グラフィック描画では スケーリング機能が利用できます。
SETUP(補助設定)または、エスケープシーケンスで変更できます。
PC98または、DOS/Vで開発された、プログラムにある程度互換を
持たせて動作させることが出来ます。また、画面の解像度が異なった
複数のマシンで動作させることにも利用できます。画面の解像度の取得は
■<ESC>[161 W (v1.3以降) で取得します。
画面サイズは、X方向=CX*C、Y方向=L*CY となります。
リターン値(ホストに返す値)
<ESC>[$;桁数(C);行数(L);セルサイズ(CX)
;セルサイズ(CY);フォントサイズ(FX);フォントサイズ(FY)
;上側空きドット数(0);下側空きドット数(0);;$<CR>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■グラフィックの初期化(最初に1回出力してください)
━━━━━━━━━━━
ESC[G (起動時に初期化されています)
■SCREEN(Windows版では、意味がありません)
━━━━━━
ESC[1;p1;p2;p3;p4G (コメント扱いです。)
■グラフィックの終了(Windows版では無意味)
━━━━━━━━━━━━━━━━━━━━━━━━
ESC[999G ビデオモードが直前のテキストモードに設定されます
─────────────────────────────────────
8−1
─────────────────────────────────────
■VIEW
━━━━
ディスプレイ上での表示領域(ビューポート)を指定します。
このコマンドによって、アクティブ画面への図形描画は、
ビューポート内にのみ反映されるようになります。
(x1,y1)を左上の頂点、(x2,y2)を右下の頂点とする
オリジナルスクリーン座標系上の長方形を図形表示領域として指定します。
※※※ x,yの座標値はビューポート相対ではなく、あくまでもスクリーン
左上端からの値で描画します。(ウィンドウ相対でない時)
ESC[2;x1;y1;x2;y2;c1;c2G ------描画領域の指定
x1---左上のX座標
y1---左上のY座標
x2---右下のX座標
y2---右下のY座標
c1---(Windows版では無意味)
c2---(Windows版では無意味)
CLSによって消去される画面の範囲は、この枠によって
囲まれた中だけで、わくは消されることはありません。
VIEWは、図形の表示領域の指定を行うだけで、実際の画面に
対する操作は行いませんので、VIEWによりビューポートを
変更するだけで、以前のビューポート中の図形が移動するような
ことはありません。また、VIEWは、すべてのグラフィックス
画面表示の対象範囲を指定された領域に限定してしまいますから
ビューポートの外に点や線を表示することは出来なくなります。
☆☆☆ウィンドウ表示時VIEWコマンドを実行するとウィンドウ側
のビューポートに影響を与えますのでご注意ください。
■COLOR1
━━━━━━
バックグランドカラー、フォアグランドカラーを指定する。
フォアグランドカラーとは、図形描画においてパレット番号が省略
されたときに使用される色のことである。
ESC[3;c1;c2;c3;c4G -------各部の色を指定
c1---バックグラウンドカラー
c2---ボーダーカラー(Windows版では無意味)
c3---フォアグランドカラー
c4---パレットモード(Windows版では無意味)
■COLOR2(※仕様が異なります。)
━━━━━━
パレット番号と表示色コードを対応させ、パレット番号で表す色を
定義する。
ESC[4;p1;p2;p3;p4G -------カラーパレットの変更
p1---パレット番号(0〜15)
p2---R赤の度合い(0〜255)
p3---G緑の度合い(0〜255)
p4---B青の度合い(0〜255)
─────────────────────────────────────
8−2
─────────────────────────────────────
■CLS
━━━
ビューポート内の描画領域を、バックグランドカラーの表示色で
塗りつぶす。
ESC[5G -------描画領域の消去
■PSET
━━━━
オリジナルスクリーン座標系で(x,y)によって指定された位置
にドットを表示します。
カラーは<パレット番号>によって指定し、もし省略された場合
は、現在のフォアグランドカラーが採用されます。
ESC[6;x;y;pG
x ---X座標
y ---Y座標
p ---パレット番号
■PRESET
━━━━━━
オリジナルスクリーン座標系で(x,y)によって指定された位置
にドットを表示します。
カラーは<パレット番号>によって指定し、もし省略された場合
は、現在のバックグランドカラーが採用されます。
ESC[7;x;y;pG
x ---X座標
y ---Y座標
p ---パレット番号
■LINE(※仕様が一部異なります。)
━━━━
直線、矩形の描画
指定された2点を結ぶ線分、または、この線分を対角線とする矩形を
描画する。さらに、矩形を塗りつぶすこともできる。
※<ラインスタイル>は指定出来なくなりました。
その代わりペンスタイルが指定出来きるようになりました。
ESC[8;x1;y1;x2;y2;p1;p2;p3;p4;p5G ----直線の描画
──────────────────────────────────
x1---左上のX座標
──────────────────────────────────
y1---左上のY座標
──────────────────────────────────
x2---右下のX座標
──────────────────────────────────
y2---右下のY座標
──────────────────────────────────
p1---パレット番号(省略は255)
──────────────────────────────────
p2---描画コード
0:直線(L) 1:ボックス(B) 2:ボックスの塗りつぶし(BF)
──────────────────────────────────
─────────────────────────────────────
8−3
─────────────────────────────────────
──────────────────────────────────
──────────────────────────────────
◆直線(L)ボックス(B)のとき
──────────────────────────────────
──────────────────────────────────
p3---ペンスタイルスイッチ(※変更点)
0:ペンスタイル指定なし 1:ペンラインスタイル指定あり
※※※ ms-dos版ではペンスタイルではなくラインスタイルでした。
──────────────────────────────────
p4---ペンスタイル
──────────────────────────────────
※ペンスタイルのコード
──────────────────────────────────
0:実線
1:破線
2:点線
3:一点鎖線
4:二点鎖線
5:NULL
6:PS_INSIDEFRAME
※上記以外の値:破線(ペンの太さは1となります)ver1.308a以降
ms-dos版と動作が比較的似る様に変更しました。
ms-dos版ではペンスタイルではなくラインスタイルでした。
──────────────────────────────────
p5---ペンの太さ(0,1は太さ1、2〜太さ)
──────────────────────────────────
──────────────────────────────────
◆ボックスの塗りつぶし(BF)のとき
──────────────────────────────────
p3---パレットスイッチ
0:パレット指定なし 1:パレット指定あり 2:タイルパターン
4:ハッチパターン(※新設)
──────────────────────────────────
p4---パレット番号塗りつぶしに使う色(省略は255)または
タイルパターン番号、またはハッチパターン番号(※新設)
──────────────────────────────────
※※※ハッチパターン番号(※新設)
──────────────────────────────────
0:斜線(右上から左下)
1:クロス(十文字)
2:クロス(斜)
3:斜線(左上から右下)
4:ヨコ線
5:タテ線
──────────────────────────────────
p5---ハッチパターンの時の線のパレット番号(※新設)
──────────────────────────────────
─────────────────────────────────────
8−4
─────────────────────────────────────
■CIRCLE
━━━━━━
指定された中心点、X方向半径、Y方向半径をもとに、楕円または
円を描画する。円弧、または扇形を描画する。
円、楕円、円弧、または扇形の内部を塗りつぶす。
<パレット番号(線の色)>は円、楕円、円弧、または扇形の円周を
描画する表示色を指定する。
<パレット番号(領域色)>は円、楕円、円弧、または扇形の内部を
塗りつぶす色、または、タイルパターン番号を指定する。
<塗りつぶし指定>は円、楕円、円弧、または扇形の円周のみを描画
するか、ベタ塗りするか、タイルパターンで塗りつぶすかを指定します。
円弧、または扇形を描画のときは、<半径描画スイッチ>は開始
線分、終了線分を描画するかどうかの指定をします。
ESC[9;cx;cy;rx;ry;p1;p2;p3;p4G ----円の描画
──────────────────────────────────
cx---中心点のX座標
cy---中心点のY座標
rx---X方向の半径
ry---Y方向の半径
──────────────────────────────────
p1---パレット番号(線の色)(省略は255)
p2---塗りつぶし指定
0:塗りつぶしなし 1:塗りつぶしあり 2:タイルパターン
4:ハッチパターン(※新設)
p3---パレット番号(領域色)(省略は255)
タイルパターン番号、またはハッチパターン番号(※新設)
p4---ハッチパターンの時の線のパレット番号(※新設)
──────────────────────────────────
ESC[10;cx;cy;rx;ry;sx;sy;ex;ey;p1;p2;p3;p4;p5G ----円弧の描画
──────────────────────────────────
cx---中心点のX座標
cy---中心点のY座標
rx---X方向の半径
ry---Y方向の半径
sx---開始点のX座標
sy---開始点のY座標
ex---終了点のX座標
ey---終了点のY座標
──────────────────────────────────
p1---パレット番号(線の色)(省略は255)
p2---塗りつぶし指定 0:塗りつぶしなし 1:塗りつぶしあり
2:タイルパターン 4:ハッチパターン(※新設)
p3---パレット番号(領域色)(省略は255)
タイルパターン番号、またはハッチパターン番号(※新設)
p4---半径描画スイッチ 0:半径描画なし 1:半径描画あり
p5---ハッチパターンの時の線のパレット番号(※新設)
─────────────────────────────────────
8−5
─────────────────────────────────────
■PAINT1
━━━━━━
指定した点と境界色で決定される領域を指定の色(領域色になる)
による塗りつぶし
ESC[11;x;y;c1;c2G ----- 指定色による塗りつぶし
──────────────────────────────────
x---開始点のX座標
y---開始点のY座標
c1---領域色
c2---境界色
──────────────────────────────────
■PUT@(※仕様が一部異なります。)
━━━━
指定されたJISコードの漢字または、半角コードを指定の位置に
描画する。
(x,y)で指定されたスクリーン座標の位置にJISコードで
指定された漢字を表示さひます。
漢字または、半角コードは、j1,j2でJISコードを2バイト
の10進数に置き換えて指定します。
<描画モード>は、
PSET 漢字のグラフィックパターンをそのまま表示
PRESET リバースして表示
OR 既にある画面上のグラフィックパターンをビット
毎にOR(論理和)し、その結果を画面に表示
します。
AND 既にある画面上のグラフィックパターンをビット
毎にAND(論理積)し、その結果を画面に表示
します。
XOR 既にある画面上のグラフィックパターンをビット
毎にXOR(排他的論理和)し、その結果を画面
表示します。
──────────────────────────────────
ESC[12;x;y;j1;j2;m;c1;c2;c3G-画面に漢字を表示(※仕様が一部異なります)
──────────────────────────────────
x---表示領域の左上のX座標
y---表示領域の左上のY座標
──────────────────────────────────
j1--JIS第一バイト(0:半角,JISコードの10進数)
j2--JIS第二バイト(JISコード第二バイトの10進数)
──────────────────────────────────
m---描画モード
0:PSET 1:PRESET 2:OR 3:AND 4:XOR
──────────────────────────────────
c1---カラースィッチ 0:色の指定を省略 1:色の指定
──────────────────────────────────
c2---字の色(パレット番号)
──────────────────────────────────
c3---背景の色(パレット番号)
──────────────────────────────────
[例]半角のAをX=100,Y=120に表示する。
ESC[12;100;120;0;65;0;0G
全画の亜をX=60,Y=100に表示する。
ESC[12;60;100;48;33;0;0G
────────────────────────────────────
8−6
─────────────────────────────────────
■ROLL
━━━━
アクティブ画面全体の描画情報を、指定ドット数分上下または、
左右方向へ移動する。
ESC[13;p1;p2;p3;p4;p5G -----------グラフィック画面のスクロール
■COPY
━━━━
画面情報のハードコピーを行います。(Windows版では無意味)
ESC[14;p1G (※ver1.3以降で動作可能)
ESC[15;pG --------画面ハードコピー時のプリンター指定
(Windows版では無意味)
■PAINT2(※仕様が一部異なります。)
━━━━━━
指定した点と境界色で決定される領域をタイルパターン
により塗りつぶします
ESC[16;p;t1;t2;t3;...;tn G -タイルパターン設定(Windows版で無意味)
p ---タイルパターン番号
t1,t2,t3,...,tn ----タイルパターン
★★★(16色モードのとき最大32バイト)
ESC[17;x;y;c1;c2;c3G -----タイルパターンによる塗りつぶし
──────────────────────────────────
x---開始点のX座標
y---開始点のY座標
c1---タイルパターン番号(ESC−vcom++が用意)
※※※40以上のときハッチパターン(※新設)となります。
ハッチパターン番号は、(c1−40)となります。
c2---境界色(省略は255)
c3---ハッチパターンの色(ハッチパターンのみ) %%%14-JUL-97%%%
──────────────────────────────────
■POINT(※仕様が異なります。)
━━━━━
ポイントのパレット番号取得
ESC[18;x;yG
──────────────────────────────────
<ESC>[r;g;bG -----0から255(RGB赤緑青の色あい)
──────────────────────────────────
※ 【イメージデータ番号】について、(1〜32766)が指定出来ます。
イメージデータ番号0はシステムが使用しています。
また、30000〜32766は、システムが予約しています。
(1〜29999)の範囲で使用してください。
※また32768以降は特別なビットマップを意味します(27-jan-97)
─────────────────────────────────────
8−7
─────────────────────────────────────
■ イメージデータ用機能
━━━━━━━━━━━
ESC[19;n;x1;y1;x2;y2G ------イメージデータのセイブ
[BASICのGET@関数]
──────────────────────────────────
n ---イメージデータ番号(1〜32766)
x1---開始点のX座標
y1---開始点のY座標
x2---終了点のX座標
y2---終了点のY座標
──────────────────────────────────
ESC[20;n;x1;y1;m;sw;c1;c2G --セイブされたイメージデータの
画面出力
[BASICのPUT@関数]
──────────────────────────────────
n ---イメージデータ番号(1〜32766)
x1---開始点のX座標
y1---開始点のY座標
──────────────────────────────────
m ---描画モード
━━━━━━━━
0:PSET
1:PRESET
2:OR
3:AND
4:XOR
sw---カラースィッチ(Windows版では無意味)
━━━━━━━━
0:指定なし
1:白と黒に色をつける
c1---白につける色(Windows版では無意味)
c2---黒につける色(Windows版では無意味)
──────────────────────────────────
ESC[21;nG-----イメージデータの指定セイブデータ削除
n ---イメージデータ番号(1〜32766)
──────────────────────────────────
■グラフィックデータ退避復元
━━━━━━━━━━━━━
──────────────────────────────────
ESC[22G ----グラフィックの全セイブデータ削除
──────────────────────────────────
ESC[23G ----グラフィック画面をEMS又はXMS退避領域に保管する。
(Windows版では無意味)
──────────────────────────────────
ESC[24G ----EMS又はXMS退避領域からグラフィック画面を復元する。
(Windows版では無意味)
──────────────────────────────────
■グラフィックセイブリストアモード時の指定(※仕様が一部異なります。)
━━━━━━━━━━━━━━━━━━━━━
ESC[25;4;nG ---ウィンドウバックグランドカラーのグラフィックペイント
(色はウィンドウ作成時の色コード)
─────────────────────────────────────
8−8
─────────────────────────────────────
ESC[25;n1;n2G --ウィンドウバックグランドカラーのグラフィックペイント
(以下の仕様はWindows版では無意味)
──────────────────────────────────
n1−−0:ベタ塗り(ウィンドウ作成時の色の反転)
1:縞塗り
2:ベタ塗り(ウィンドウ作成時の色属性)
──────────────────────────────────
(以下の仕様はWindows版で 有効)
──────────────────────────────────
4:Windows版用ウィンドウバックグランドカラーの指定 [23-JUL-97]
n2 ==> ウィンドウバックグランドカラー(0から15(ver2)/63(ver3))
※※※現在のテキスト文字表示アトリビュートが変更されます。
5:Windows版用ウィンドウバックグランドカラーの解消(ver3のみ)[23-JUL-97]
※※※現在のテキスト文字表示アトリビュートが初期設定に戻されます。
8:Windows版用ウィンドウバックグランドカラーのモード設定(ver3のみ)[23-JUL-97]
n2 ==> ウィンドウバックグランドカラー(0から63)(ver3のみ)
※※※現在のテキスト文字表示アトリビュートは変更されません。
窓枠と内側の色を変えられますが、ウィンドウ作成後
テキストアトリビュートも設定が必要です。
9:Windows版用ウィンドウバックグランドカラーのモード解消(ver3のみ)[23-JUL-97]
※※※モード設定状態を解消します。
──────────────────────────────────
(以下の仕様はWindows版では ver3.524a以降でのみ有効)
──────────────────────────────────
ESC[26;nG ---vcomウィンドウグラフィックス窓枠の色(デフォルトは灰色)
n==>(0から63) : グラフィックス窓枠の色(0 から 63)[ver3.524a以降]
ただし、0 から 15は dos/v用の パレットの番号となります。
n==>256 : グラフィックス窓枠の色モードのリセット(解消)[ver3.524a以降]
n==>512 : ウィンドウ作成時のテキストの色で窓枠の色とするモードにセット
──────────────────────────────────
■グラフィック漢字表示モード
━━━━━━━━━━━━━
通常のMS−DOS文字表示でグラフィック画面に表示できます。
このモードで<CR><LF><BS>は特別な意味を持って
おり通常のテキスト表示時と同様な動作をします。
また、最下行で<LF>またはラップアラウンドが起きたときは
グラフィック画面がスクロールアップします。
ESC[27;x;y;j;m;c1;c2;c3G --グラフィック漢字モードオン
(これ以降の出力文字はグラフィックに表示されます)
─────────────────────────────────
x---表示領域の左上のX座標
y---表示領域の左上のY座標
─────────────────────────────────
j---文字サイズ
(0:半角,1:1/4角)----LIO機能による画面表示mc1c2c3で指定します。
(1/4角はWindows版では無意味)
m---描画モード(Windows版では無意味)
0:PSET 1:PRESET 2:OR 3:AND 4:XOR
─────────────────────────────────
c1---カラースィッチ 0:色の指定を省略 1:色の指定
((Windows版では無意味)/色の指定を省略は不可)
c2---字の色(パレット番号)
c3---背景の色(パレット番号)
─────────────────────────────────
ESC[28G --グラフィック漢字モードオフ
(これ以降の出力文字はテキスト位置に表示されます)
────────────────────────────────────
8−9
────────────────────────────────────
ESC[29;mG --グラフィック漢字モードオン
(これ以降の出力文字はグラフィックに表示されます)
──────────────────────────────────
m−−0,1,2単高単幅のグラフィック文字モード
3 倍高倍幅の上半分グラフィック文字モード
4 倍高倍幅の下半分グラフィック文字モード
5 グラフィック文字モードオフ
(これ以降の出力文字はテキスト位置に表示されます)
6 単高倍幅のグラフィック文字モード
──────────────────────────────────
(ラインカラム位置にのみ表示)----高分解能カラーモード
のみ有効で、テキストのラインカラム位置に表示されます。
この時は<ESC>[10;10H等による文字位置指定が有効となります。
この時は<ESC>[43m等による文字表示属性が有効となります。
──────────────────────────────────
■グラフィックウィンドウ内のスクロール
━━━━━━━━━━━━━━━━━━
ESC[31;lineG --グラフィックウィンドウの上方向スクロール
lineはライン数
ESC[32;lineG --グラフィックウィンドウの下方向スクロール
lineはライン数
ESC[33;columnG --グラフィックウィンドウの右方向スクロール
columnはカラム数
ESC[34;columnG --グラフィックウィンドウの左方向スクロール
columnはカラム数
■グラフィック基本図形描画の相対モード指定
━━━━━━━━━━━━━━━━━━━━
ESC[35;modeG --modeが1のときグラフィック基本図形描画を
カレントウィンドウの上左端行カラム位置からの
相対位置指定で描画します。
modeが0のときグラフィック基本図形描画を
スクリーン座標の絶対位置指定で描画します。
★★★グラフィック基本図形描画の相対モードは全ての基本図形描画
に影響を与えます。相対モードのときは、描画範囲は
カレントウィンドウの内側のみとなります。
グラフィックの初期化、SCREEN、VIEWをベース画面
以外で実行しないでください。
■イメージデータの複写
━━━━━━━━━━
ESC[36;n1;n2G --イメージデータを複写する。 (31-aug-96変更)
n1---複写元イメージデータ番号
n2---複写先イメージデータ番号
■イメージデータの1/2縮小(Windows版では無意味)
━━━━━━━━━━━━━
ESC[37;n1G ---イメージデータを1/2縮小する。(ドット抜き)
n1---イメージデータ番号
ESC[38;n1G ---イメージデータを1/2縮小する。(OR処理する)
n1---イメージデータ番号
─────────────────────────────────────
8−10
|目次|前ページ|次ページ|