Canvas キャンバス


描画するためのレイヤーを管理しています。

@ 直接生成する方法

 オブジェクトを直接生成できます。
 ただし、この場合はウィンドウとの関連性がないため、印刷のみ可能です。

 dim obj
 set obj = CreateObject("SeraphyScriptTools.Canvas")

 ProgIDは「SeraphyScriptTools.Canvas」です。

A OverlappedWindowから

 OverlappedWindowのCanvasプロパティからアクセスします。
 ウィンドウとの関連性があり、ウィンドウに対して描画がすることができます。

 

Layer ( x )

Canvasオブジェクトが内部で所有しているレイヤーオブジェクトを返します。
レイヤーは0〜255まであります。
レイヤー番号が大きいほど手前に表示されます。

 

MarginWidth
MarginHeight

印刷範囲の余白を指定します。
Heightプロパティで指定される余白は、マッピングモードが0なら下方に、1なら上方につけられます。

Print

以前に使ったプリンタがあれば、そのプリンタと設定で再度印刷します。
印刷したことがなければプリンタ選択ダイアログが表示されます。

name PrintAs [mode]

必ずプリンタ選択ダイアログを表示してから印刷します。
modeをfalseにすると、印刷は行いません。
選択されたプリンタ名が返されます。

GetPrinterDefault [name]

ディフォルトのプリントの設定を取り込みます。
nameを指定すると、指定されたプリンタ名から設定を取り込みます。

obj LoadPicture path

ピクチャーをロードし、ピクチャーオブジェクトを返します。
Win32APIのOleLoadPicturePath関数で読み込ませているので、BMP、JPEG、GIFが読み込み可能です。
オブジェクトは、IPictureインターフェイスです。
したがって、IPictureDispインターフェイスのプロパティなどが使えます。

 

 


レイヤーオブジェクト


レイヤーは0〜255まであり、255がもっとも上に表示されます。
各レイヤーは、輪郭色、塗りつぶし色、テキスト色の3つのカラーが指定できます。
フォントサイズ、フォントもレイヤーごとの指定となります。

複数の色を使う場合には、複数のレイヤーを使わなければなりません。

 

CanvasオブジェクトのLayerプロパティからのみアクセスできます。

 

Color プロパティ

レイヤーの描画色を指定します。

FillColor プロパティ

レイヤーの塗りつぶし色を指定します

FontColor プロパティ

レイヤーで表示するテキストの色を指定します。

FontName プロパティ

レイヤーで表示するテキストのフォント名を指定します。

FontSize プロパティ

レイヤーで表示するテキストのサイズを指定します。

Visible プロパティ

レイヤーを描画するか否か指定します。

Clear メソッド

すべての描画をクリアします

Line sx,sy,ex,ey

直線を描画します

Box sx,sy,ex,ey
FillBox sx,sy,ex,ey

箱を描画します。
Fillは塗りつぶしです。

Arc x1,y1,x2,y2,sx,sy,ex,ey
FillArc x1,y1,x2,y2,sx,sy,ex,ey

円弧を描画します。
(x1,y1)-(x2,y2)で囲まれる長方形の中の、点(sx,sy)方向から、点(ex,ey)方向までの円弧を描画します。
Fillは塗りつぶしです。

Circle x,y,r
FillCircle x,y,r

円を描画します。

Text x,y,text

指定した位置から始まるテキストを描画します

TextBox sz,sy,ex,ey,text,fmt

(sx,sy)-(ex,ey)で指定される箱にfmtで指定した書式でテキストを描画します。
fmtはWin32APIのDrawTextのfmtです。

FillRBox sx,sy,ex,ey,w,h

(sx,sy)-(ex,ey)で指定される箱の角が、幅w、高さhの円弧でまるめられた箱を描画します。

Polygon x,y,array

座標X,Yに、VBSのVARIANT型のSAFEARRAY二次元配列で指定されるポイントを結ぶ多角形を描画します。
内部は塗りつぶされます。

Picture obj,x,y,[width],[height]

ピクチャーオブジエクトで指定した画像を、座標X,Y位置に幅width、高さheightで描画します。
width、heightを省略するかマイナスを指定すると、画像の実際のサイズとなります。

SetMappingMode mode

マッピングモードを変更します。
mode = 0 実寸モード
mode = 1 ピクセルモード
ディフオルトでは実寸モード0.01ミリ単位のマッピングモードで原点は左下です。
ピクセルモードはピクセル単位で指定します。原点は左上です。
モードを切り替えて、双方を混在させることが可能です。
このメソッドを呼び出した以降の描画メソッドに新しいマッピングモードが適用されます。
フォントサイズの指定を行う場合は、フォントサイズを指定する時点でのマッピングモードが記憶されます。