| ■93117 / ) |
Re[3]: ピクセル数の求め方を教えてください |
□投稿者/ 魔界の仮面弁士 (2493回)-(2019/11/21(Thu) 17:27:10)
|
■No93116 (犬夜叉 さん) に返信 >>> エクセルの行の高さを5〜12で指定してから >>> エクセル画面をキャプチャーしてペイントソフトでピクセル数を取得した値です。 > バラバラになっているのはどうしてでしょうか?
手元の Excel 環境で、8 つの行に対して、それぞれのセルの高さを 5 ピクセル〜12ピクセルまでドラッグで設定し、その画面キャプチャを 測定しましたが、特にズレは発生していませんでした。 (シートの縮尺率は、もちろん 100% にしています)
> エクセル ピクセル Twips値??
Twips値 と記した後ろに「??」が付与されているのが気になります。
とりあえず、右端の値を 20 で割って CInt すると、誤差が丸まって 左端の値に合致するようですが、この高さはどうやって取得したものでしょうか?
ピクセルを基準とする場合、 No93115 で述べたように画面の dpi 値が必要です。 たとえば画像高さやセルの高さを「インチ」単位で取得したら、そこに 実行環境の dpi 値(96 とか 144 とか)を乗じればピクセル数が求まります。
もしも Excel VBA の LoadPicture 関数を使って MsgBox LoadPicture("C:\temp\test.bmp").Height などで画像高さを得るような場合、こちらは「HiMetric」単位系となります。 1 ミリメートル = 100 HiMetric ですので、ここで得られた値を 1000で割ればセンチメートル、100 で割ればミリメートルになりますし、 2540で割ればインチになります。
ワークシート上に画像を貼る場合、その画像は Shape オブジェクトとなり、 Height プロパティで高さを取得・設定できます。こちらは「ポイント」単位系です。 インチに揃える場合は、 No93115 で述べたように 72 で割れば OK ですし、 ピクセルに揃えるなら、 「Height 値 × dpi 値 ÷ 72」です。
Excel でワークシートの行の高さをドラッグ操作で変更する場合、 ドラッグ中には『高さ:ポイント数(ピクセル数)』表記のツールチップが表示されます。 この高さは、Excel VBA では Range オブジェクトの RowHeight プロパティで 取得・設定できます。こちらも「ポイント」単位系です。
|
|