えっと、TPaintBox上の画像(線など)だけを印刷する方法を教えてください!
初心者でいろいろ聞くかもしれませんがお願いします。
サンプルソースとかあるとうれしいです。
印刷する時に、印刷する紙のサイズとかも決めれるでしょうか?
残念ながら,具体的なイメージが湧かないのですが,
私が勘違いしているかも知れませんが,参考になれば...
一般に線などを描く時には,そのコントロール(コンポーネント)が
もっているCanvas(プロパティ)の線を引く命令(メソッド)を用います.
例えば
Form1.Canvas.LineTo(100,300);
と書けば,Form1の左上から(100,300)の位置まで,現在のペンの設定値
で線を描画します.
これをプリンタに印刷するということは,同じコードで,今度は
Printer.Canva.LineTo(100,300);
という風に書きます.つまり,Form1のCanvasに対して行った描画コード
をPrinterのCanvasに対しても行うことになります.
ただし,ここで注意があります.これらのLineToメソッドの引数である
座標値です.この座標値はドット(ピクセル)単位ということです.
CRTの画面上とプリンタとでは解像度(インチ当たりのドット数)が全く違
います.
この違いを考えて,換算する必要があります.つまり,PaintBoxであれば
このPaintBoxのどこからどこまでを印刷する用紙のどの範囲とするかを決
めてやる必要があります.もちろん,これは他の人には全くわかりません.
印刷のコードを書く えりさん自身にしか決められません.
もう一つの考え方は,CRT上の図形を印刷すると言う場合,例えば
画像なり画面をキャプチャするという解釈です.
これは,たとえばHPに説明用の図を挿入する場合などに利用されています.
どのCanvasに描画されているにせよ,線を囲む範囲を切取って印刷する
ということになります.
詳しい回答ありがとうございます!!
ちょっと難しそうだけど、がんばってみます!!
ツイート | ![]() |