Image1とImage2は正方形です。
Image1の大きさは固定、Image2の大きさは変化します。
Image1とImage2の中心間距離:D(n) と Image2の1辺の長さ:W(n)
はcsvファイルから読み込みます。
(csvファイルには単位がcmとして入っています。)
Image1とImage2の中心間距離:D(n) は以下の表記であってるでしょうか?
(twipをcmに変換するために567を乗じています。)
↓中心間距離
D(n) * 567 = (Image2.Left + Image2.Width / 2) - (Image1.Left +
Image1.Width / 2)
プログラムには
Image2.Width = W(n) * 567
Image2.Height = W(n) * 567
Image2.Left = D(n) * 567 + Image1.Left + Image1.Width / 2 - W(n) * 567
/ 2
(↑移項しただけ)
と記述しました。
実際にPCの画面上に定規をあてて測ってみると D(n) の値と少しずれているの
ですが・・・。
解像度の問題でD(n) の値と一致することはないのでしょうか?
> (twipをcmに変換するために567を乗じています。)
(中略)
> 実際にPCの画面上に定規をあてて測ってみると
ヘルプの『1 論理 cm は 567twip』という表記からその式を導いたのであれば、
それは正しくありません。画面上の「物理的なサイズ」は環境によって変化するため、
換算用の定数値は、自ら定規等で測った上で算出するほかありません。
(もしくは、「画面のプロパティ」を使って、DPI 設定の方を変更する事になります)
以下蛇足:
そもそも、Twip という単位は、「1 Twip = 1/20 ポイント」という定義になっています。
(twip という名前は "Twentieth of a Point" から来ているそうです)
そして印刷上の 1 ポイントは、1/72 インチと定義されているため、結果的に、
1 論理インチ = 1,440 twip
という公式が導かれ、そこからメートル単位系への換算で、
1 論理センチ = 567 twip
という公式が導かれています。
ところが、たとえば同じ「12pt サイズの文字」であっても、プリンタに出力した場合と、
10.4インチの小型モニタに表示させた場合と、21インチの大型モニタに表示させた場合では
物理的なサイズが、まったく異なりますよね。
プリンタの場合には、「物理サイズ」と「論理サイズ」が(ほぼ)一致するのですが、
モニタの場合は、機器側のサイズ調整ボタンや、画面の解像度などに応じて
物理サイズが変化するため、物理サイズと論理サイズは、必ずしも一致しないのです。
詳しい説明をありがとうございました。
ツイート | ![]() |