喫茶XRAYトップページ

[スレッド全体
]

[642] ミリメートルとピクセル(ドット)値の換算方法返信 削除
2006/1/18 (水) 22:01:13 Mr.XRAY
▼ bubblesさん

どうですか,少しはすすんだでしょうか.

> とあります。ミリをピクセルに直すにはどのようにしたら良いでしょうか?
まず,ピクセル(ドット)とは,たとえば,今私の目の前のPCの画面は
    1280 × 1024 (横のドット数 × 縦のドット数)
となっています.解像度は96dpiとなっています.
dpiとは,dot(s) per inch,つまり1インチ当たり96ドットということです.では,
印刷,プリンタの場合はどうでしょう.

プリンタのカタログなどには,解像度360dpiとか書いてあります.これは1インチ
当たり360の点で印刷するということです.1インチというのは25.4ミリメートルで
すから,用紙の左上(0,0)から25.4ミリメートルの長さの横線を引くには,

     Printer.Canvas.MoveTo(0,0);
     Printer.Canvas.LineTo(360,0);
 
となります.もし10mmの長さの線を引きたい時は...  比例計算で求めて座標値
を計算します.
ここで注意があります.それは,解像度,dpiの値はプリンタによって,また同じ
プリンタでも複数の解像度をもつものがあるということです.つまり,プリンタの
解像度によって,座標値を換算しながら,実行する必要があるということです.

以上が,ミリメートルとピクセル(ドット)の換算の説明です.
TPageSetupDialogでは,余白の値などが,インチまたは1/100mm単位で取得でき
ます.そこで,これらの値を使用するプリンタの解像度からドット値に換算す
ることになります.

参考になればさいわいです.


[643] Re:ミリメートルとピクセル(ドット)値の換算方法返信 削除
2006/1/18 (水) 22:26:53 bubbles
Mr.XRAY(マスター)さん、ありがとうございます。

ここまで丁寧な解説をしていただき、参考にならないはずはありません!!
殆ど解答に近い解説のため、本当に助かりました。

ありがとうございました!!!!

bubbles

[644] Re2:ミリメートルとピクセル(ドット)値の換算方法返信 削除
2006/1/18 (水) 23:59:52 Mr.XRAY
▼ bubblesさん

RichEditの印刷の方法(コード)の説明はどうしましょう.
ご自分で少しやって(挑戦して)みますか?


[645] Re3:ミリメートルとピクセル(ドット)値の換算方法返信 削除
2006/1/19 (木) 00:26:00 Mr.XRAY
▼ bubblesさん

追記です.

>解像度によって,座標値を換算しながら,実行する必要があるということです.
これって,かなり面倒ですよね.
そこで,拙作の印刷プレビュー制御コンポーネントでは特殊な方法を用いて
います.それは,Canvasに描画する時に使用する座標値,たとえば

    Printer.Canvas.LineTo(X,Y);

のX,Yの値として,ピクセル(ドット)値ではなく,0.1mm単位で指定すると,
自動的に内部でドット値に換算してくれる,WindowsのAPIの機能を使用して
います.plPrev.pas内の ScaleInitialize というメソッドでこれを行って
います.少し勉強したら,是非挑戦してみて下さい.
(もちろん,プリンタの解像度は調べる必要があります)

なお,.NET Workframeは,最初から座標値としてインチやmm単位の値を指定
できる機能があります.

[647] Re3:ミリメートルとピクセル(ドット)値の換算方法返信 削除
2006/1/19 (木) 06:28:43 bubbles
おはようございます。

> RichEditの印刷の方法(コード)の説明はどうしましょう.
> ご自分で少しやって(挑戦して)みますか?


ご親切にどうもありがとうございます。
現在はDelphiの勉強中であるため、コードの説明は自分で勉強したいと思います。

ネット上の印刷制御関連のコンポーネントをダウンロードし活用すればそれで良い
話なのですが、それでは身につかないと思い、いろいろコードを書いては試してい
る段階です。


> なお,.NET Workframeは,最初から座標値としてインチやmm単位の値を指定
> できる機能があります


それは知りませんでした。.NET Workframeに関してはいまだ使用したことが無い
もので…。こちらの方も勉強したいと思います。


本当にわざわざありがとうございました。




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