喫茶XRAYトップページ

[▲前のスレッド]

[9767] 印刷プレビューコンポでのTCanvasの扱い返信 削除
2016/4/15 (金) 16:17:33 Mr.XRAY
拙作の印刷プレビューコンポーネントの Canvas は
TplPrev.Canvas です.TplPrev はクラス名です.
実際には plPre1.Canvas とか plPrev2.Canvas になります.

これは,Delphi の TCanvas と同じです.
Delphi の TCanvas のプロパティ,メソッドが使用できます.
ただし,機能的には TPrinter の Canvas と同じで,
マウスイベント等は機能しません.
また,長さ,寸法が,Delphi の標準の TCanvas ではピクセル単位ですが,
TplPrev では 0.1 mm 単位です.
したがって,1200 は 印刷すると,120 mm となります.

以上のことは,オンラインマニュアルにも書いてあります.


[9768] Re:印刷プレビューコンポでのTCanvasの扱い返信 削除
2016/4/15 (金) 19:57:19 Mr.XRAY
> また,長さ,寸法が,Delphi の標準の TCanvas ではピクセル単位ですが,
> TplPrev では 0.1 mm 単位です.
> したがって,1200 は 印刷すると,120 mm となります.


TplPrev コンポーネントではピクセル(ドット)単位での描画はできません.

   TCanvas.Draw メソッド
   (TplPrev では DrawPict メソッド)

は,描画開始位置の座標値は 0.1 mm 単位の値で,実際の描画も 0.1 mm 単位で
行われます.つまり,画像の 1 ピクセル(ドット)が 0.1 mm となります.
当然ながら,指定領域に描画するには,TCanvas.StretchDraw を使用します.
これは文字通り,ストレッチな描画です.

TplPrev で画像を描画(印刷)したいという場合,以下を紹介しています.
後は,ソースコード,あるいは Delphi の TCanvas のヘルプ等を参考にして
いただくことになります.

[イメージの描画]
http://mrxray.on.coocan.jp/Delphi/plPrev/M_Images.htm


[9770] Re:印刷プレビューコンポとは返信 削除
2016/4/16 (土) 11:29:28 Mr.XRAY
拙作の印刷プレビューコンポーネント TplPrev は,
印刷プレビューと,描画用の TCanvas を提供しているだけなんです.
ただ,Delphi の TCanvas では,描画の単位がピクセルですが,
TplPrev は 0.1 mm となっているわけです.

ただ,それだけでは寂しいので,いろいろなメソッド類を用意しています.
基本的には TCanvas のプロパティやメソッドを使用することになります.

世の中の帳票類は,実際にはインチスケールで作成されているものが多いのですが,
日本なので mm 単位の方かいいのかなぁ,ということです.

ちなみに,私はインチスケールの物差しというのでしょうか,持っています.
アプリの開発で関係した業者から頂きました (^^;


[9771] Re2:印刷プレビューコンポとは返信 削除
2016/4/16 (土) 11:38:30 Mr.XRAY
> 世の中の帳票類は,実際にはインチスケールで作成されているものが多いのですが,
> 日本なので mm 単位の方かいいのかなぁ,ということです.


実は一時期,

  インチスケールで設定
  100 分率で設定(横幅の何パーセントの位置から開始とか)

という機能を追加しようと思ったことがあります.
でも,利用されている方からの質問内容を読んでいる限り,
更に混乱を招く恐れもあり,更に難解になる可能性があるのでやめました.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82