画像の縦、横のサイズの取得するには?

解決


別加夢  2005-01-07 00:03:02  No: 87665

BMPやJPEGなどの画像ファイルの縦・横のサイズを
取得する方法を教えてください。
過去ログに読み込んでGetObjectでヘッダを読むとありましたが、
説明を読む限り各保存形式によって、ヘッダの様式が違うようなので
もっと簡単に取得する方法がありましたら、教えてください。


魔界の仮面弁士  2005-01-07 01:45:37  No: 87666

開発環境は?

VB6なら、PictureオブジェクトのWidth/Heightプロパティ、
VB.NETは、System.Drawing.Image のWidth/Heightが手軽かと。


別加夢  2005-01-07 17:58:53  No: 87667

失礼しました。環境はVB6.0です。
追加で質問なんですが、PictureオブジェクトにLoadPictureで読み込んで
Setで代入まではあってますよね?
この時のPictureオブジェクトのHeight,Widthの単位って何ですか?
Twipでもないようですし、ピクセルでもない。どう計算してもこの時の
値にならないんです。
ちなみに画像の横/縦が461/416ピクセルだと12197/11007と
なるんですが、もしよろしければ解説お願いします。
Formの単位はTwipに設定しています。


別加夢  2005-01-07 18:18:25  No: 87668

魔界の仮面弁士すいません。
MSDN見たら単位は0.01mm単位と書いてありました。
私の調べが足りませんでした。
今後も何かありましたら、質問しますのでその時はよろしくお願いします。


魔界の仮面弁士  2005-01-07 18:20:27  No: 87669

> PictureオブジェクトにLoadPictureで読み込んで
> Setで代入まではあってますよね?
良いと思いますよ。つまり、こういう事ですよね。
  Dim P As Picture
  Set P = LoadPicture(〜)
  W = P.Width
  H = P.Height
  Set P = Nothing

あるいは、Pictureオブジェクト変数にSetする替わりに、
Withステートメントを使っても、同じ結果が得られるかと。
  With LoadPicture(〜)
      W = .Width
      H = .Height
  End With

> この時のPictureオブジェクトのHeight,Widthの単位って何ですか?
HiMetric単位です。……ちゃんとヘルプに書いてありますよ。(^^;)
他の単位への変換方法も書かれています。

ヘルプが見れない環境なら(そんな事は無いと思いますが)、下記を見てください。
http://www.microsoft.com/japan/developer/library/vb98/vbproheight.htm


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加