|目次|前ページ|次ページ| ──────────────────────────────────── 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 |目次|前ページ|次ページ|