投稿日 | : 2004/02/27(Fri) 22:18 |
投稿者 | : おじん |
URL | : |
タイトル | : 画面に正確な長さの線を引く |
画面に正確な長さ(XY cm)の線を引く時、経験的にその長さX?は
Twips単位の場合、
X?=(1440/2.54)*XY*(800/Dx) Dx は下記
Pixels単位の場合
X?=((1440/15)/2.54)*XY*(800/Dx)
ただし、おじんのパソコンでは、15<=>TwipsPerPixelX(疑問1)、
2.54、1440は定義。800は経験則(疑問2)
コード例は、(ScaleMode を対応して)
With Line1
.BorderWidth=5
.x2=.x1+xy
End With
画面の大きさ S 例 15 inch
Sx=15 * 4 / 5 画面の横の大きさ=12 inch=12 * 2.54 cm
Sy=15 * 3 / 5 同上、縦の大きさ=9 inch
ドット数 D 例 1024 x 768
Dx=Screen.Width/Screen.TwipsPerPixelX=1024
DPI(Dot Par Inch)=D / G
疑問1:
TwipsPerPixelsXはパソコン(モニタ)によって違うのでしょうか?
疑問2:
800は手持ちのノートパソコン(9インチ)でDxが800(x)だったものですから
それを代用して測って見たらニヤリイコールだったので。
これって、何ですか?、定数なのですか?
質問です。疑問1,2が解決すれば解決することなのですが、、、。
画面に「正確な長さ(大きさ)の線(画像)を描くには」どうすれば?
解決したのに、何故こだわるか、実はプリンタに同様の未解決の問題が
あるのです。プリンタの場合、DPI(上記)が今の知識では必要なのです。
そのためには「G=画面の大きさ」を、プリンタの場合はDPIをアプリから
取得する方法が知りたいのです。
疑問、質問が通じましたでしょうか、よろしくお願いいたします。