●e-DISPに線や矩形を描画してみる
e-DISPの仕様書を読んでみると、拡張されたエスケープ・シーケンスを使って線や矩形を描画できると書いてあります。試してみましょう。
e-DISPの仕様書を読んでみると、拡張されたエスケープ・シーケンスを使って線や矩形を描画できると書いてあります。試してみましょう。
mySerial.print("\x1B@30Z"); // 背景表示用バッファを0 に設定します。
mySerial.print("\x1B@0;0;60;40;200;100;32767z"); // 白い矩形を描画する
バッファ0に、幅60ドット、高さ40ドットの矩形を、x座標200、y座標100に、白(32767、16進数だと0x7FFF)で描画します。幅や高さ、座標、色の数値をいろいろ変えてみてください。思ったとおりの矩形を描画できましたか?
バッファとは何か?は、ここでは説明しません。e-DISPのマニュアルを参照してください。色を表す数値について、「8.1 線や矩形の色について」を参照してください。
矩形を描画したとの同じ要領で、こんどは線を描画してみましょう。
座標(0,0)から座標(319,239)まで、つまり、画面の左上から右下まで、青い線を描画できたと思います。色を表す数値について、「8.1 線や矩形の色について」を参照してください。
線や矩形を描画できるようになると、たとえば、センサから取得した値を使ってグラフを描くこともできます。大変便利な機能です。
線や矩形を描画するために、次のような関数を用意しておくと便利でしょう。
線や矩形を描画するときに指定する色について説明します。色はRGB555と呼ばれるフォーマットで表現され、赤、緑、青を表現するために、それぞれに5ビット使用します。

バッファとは何か?は、ここでは説明しません。e-DISPのマニュアルを参照してください。色を表す数値について、「8.1 線や矩形の色について」を参照してください。
矩形を描画したとの同じ要領で、こんどは線を描画してみましょう。
mySerial.print("\x1B@30Z"); // 背景表示用バッファを0 に設定する。
mySerial.print("\x1B@0;0;60;40;200;100;32767z"); // 白い矩形を描画する
mySerial.print("\x1B@2;0;0;0;319;239;31z"); // 青い線を描画する
線や矩形を描画できるようになると、たとえば、センサから取得した値を使ってグラフを描くこともできます。大変便利な機能です。
線や矩形を描画するために、次のような関数を用意しておくと便利でしょう。
// 四角形の単色データを背景に表示する。
void box(int buffer, int width, int height, int x, int y, word color) {
mySerial.print("\x1B@0;");
mySerial.print(buffer); mySerial.print(";");
mySerial.print(width); mySerial.print(";");
mySerial.print(height); mySerial.print(";");
mySerial.print(x); mySerial.print(";");
mySerial.print(y); mySerial.print(";");
mySerial.print(color); mySerial.print("z");
}
// (x0,y0)-(x1,y1)間にラインを表示する。
void line(int buffer, int x0, int y0, int x1, int y1, word color) {
mySerial.print("\x1B@2;");
mySerial.print(buffer); mySerial.print(";");
mySerial.print(x0); mySerial.print(";");
mySerial.print(y0); mySerial.print(";");
mySerial.print(x1); mySerial.print(";");
mySerial.print(y1); mySerial.print(";");
mySerial.print(color); mySerial.print("z");
}
●線や矩形の色について線や矩形を描画するときに指定する色について説明します。色はRGB555と呼ばれるフォーマットで表現され、赤、緑、青を表現するために、それぞれに5ビット使用します。
#define RGB(r,g,b) (((r)<<10)| ((g)<<5)| (b))
楠川 歩
e-DISP入手先 (株)ディーディーエル


コメントする