3.1.3 例題図形の印刷と保存

目次のページ前のページ 次のページ

 グラフィックスウィンドウに表示されている図形を印刷するには、FILEメニューからPrintサブメニューを選びます。印刷の場合、Windowsのシステムはやや複雑な手順をしますので、印刷に関連して幾つかのプロパティが影響する性質について解説します。

 グラフィックスウインドウに表示されている図形は、第2.2節で説明したようにPset, Line, Circle, Printの四つの基本メソッドで作図されます。基本的な作画モードは、一種の描きっぱなしですので、ウインドウの寸法が変わったり、別のウインドウで隠されたりすると、図形の一部または全部が消されてしまいます。したがって、それを前の状態に回復させる再描画の方法(Redraw)が必要です。再描画にシステムの機能を使うプロパティがAutoRedrawです。これはメニューバーで設定できるようにしました。AutoRedrawをTrueに設定すると、システムは、その作画ウインドウの背景画用のメモリー領域を準備し、そこに図形を書き込んでおいて、そこから実効の作画ウインドウにデータを送って表示します。メモリー上の作図データは単純なClsメソッドでは消えません。消去命令は白のデータで書き直すのです。そのため、EDITメニューのClearScreenサブメニューにさらに二つのサブサブメニューを設けてあります。CLSとPictureCLSです。

 さて、図形をプリンタで得るのは、FILEメニューのPrintサブメニューを使います。このとき、上記の背景画用のメモリーからデータをプリンタに転送しますので、AutoRedrawがFalseに設定されていると図形がプリントされません。その不便を無くすため、VB_Graphicsの内部コードで、AutoRedrawをTrueに設定して図形を再描画し、メモリ上に図形を作成してプリンタを起動させます。処理の後、前のAutoRedrawモードの設定に直します。そうすると、メモリ上の図形は、背景画としてそのまま残りますので、他の図形を描くと上描きのように重なった図形が表示されます。

 AutoRedrawをFalseに設定したまま再描画を意図的に行わせるには、システムのPaintメソッドの機能と共に理解しなければなりません。

 EDITメニューには、表示されている画像をビットマップデータとしてクリップボードに転送するサブメニューCopyToClipBrdがあります。また、.BMPの拡張子を付けたビットマップファイルとして保存するサブメニューSaveBmpFileがありますので、画像データを他のアプリケーションに利用することができます。上記のサブメニューの対として、それぞれPasteFromClpBrdとReadBmpFileが利用できます。これらの使い方は、ビットマップ用ウインドウの解説のところで説明を補います。

 作図のメソッドの形式で作図データをファイルに保存する、そのファイルがメたファイルです。その利用は、FILEメニューの方の一対のサブメニューDataSave, DataReadです。この使い方は、グラフィックスサブルーチンと関連付けたグラフィックスコマンドの説明が必要ですので、後の3.5節で解説します。

 なお、OPTONSメニューは例題プログラムのバリエーションを選択するようにしたものです。このPolygon例題では、ソースコードの中でパラメータを変えて、三角形・四角形・五角形・六角形の作図が得られるようにしてあります。


次のページ