▼ bubblesさん
追記です.
>解像度によって,座標値を換算しながら,実行する必要があるということです.
これって,かなり面倒ですよね.
そこで,拙作の印刷プレビュー制御コンポーネントでは特殊な方法を用いて
います.それは,Canvasに描画する時に使用する座標値,たとえば
Printer.Canvas.LineTo(X,Y);
のX,Yの値として,ピクセル(ドット)値ではなく,0.1mm単位で指定すると,
自動的に内部でドット値に換算してくれる,WindowsのAPIの機能を使用して
います.plPrev.pas内の ScaleInitialize というメソッドでこれを行って
います.少し勉強したら,是非挑戦してみて下さい.
(もちろん,プリンタの解像度は調べる必要があります)
なお,.NET Workframeは,最初から座標値としてインチやmm単位の値を指定
できる機能があります.
|