TPaintBox上の画像を印刷するには?

解決


えり  2003-12-03 04:42:44  No: 5884

えっと、TPaintBox上の画像(線など)だけを印刷する方法を教えてください!
初心者でいろいろ聞くかもしれませんがお願いします。
サンプルソースとかあるとうれしいです。


えり  2003-12-03 04:53:28  No: 5885

印刷する時に、印刷する紙のサイズとかも決めれるでしょうか?


Mr.XRAY  URL  2003-12-04 08:21:59  No: 5886

残念ながら,具体的なイメージが湧かないのですが,
私が勘違いしているかも知れませんが,参考になれば...

一般に線などを描く時には,そのコントロール(コンポーネント)が
もっている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に描画されているにせよ,線を囲む範囲を切取って印刷する
ということになります.


えり  2003-12-04 23:27:30  No: 5887

詳しい回答ありがとうございます!!

ちょっと難しそうだけど、がんばってみます!!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加