画像情報の取得について への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 k-z  (社会人) 投稿日時 2010/8/4 11:53:38
>魔界の仮面弁士さん

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

また、よろしくおねがいします!
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/7/30 20:18:46
> .Typeにして、csvファイルに出力したら『3』とでます。
タグの .Type ではなく .Value を参照して下さい。
メタデータの値は、Value が返すバイナリに返されています。

なお、&H103 タグの Type は 3 固定です。
タグの一覧については、下記資料末尾の Propty Tags in …のリンクをご覧ください。
http://msdn.microsoft.com/en-us/library/ms534413.aspx

また、それぞれのタグの意味については、TIFF や Exif 等の仕様書を確認して下さい。
http://msdn.microsoft.com/en-us/library/ms534415.aspx

たとえば、今回の &H103 ならこのあたり。
http://www.awaresystems.be/imaging/tiff/tifftags/compression.html


> この3は何の3ですか?
メタデータの型を表しています。
 1 = Byte 配列
 2 = ASCII文字列  (末尾に &H00 が付与されています)
 3 = UShort
 4 = UInteger
 5 = 分数 (分子を表すUInteger と分母を表す UInteger)
 6 = 任意のデータ型
 7 = Integer 配列
 10 = 分数 (分子を表すInteger と分母を表す Integer)


> の中の3ですか?
Type = 3 の場合は、Value を BitConverter.ToUInt16 メソッドで読み取ってみてください。
その値が、前回の一覧になるはずです。
投稿者 (削除されました)  () 投稿日時 2010/7/30 20:17:58
(削除されました)
投稿者 k-z  (社会人) 投稿日時 2010/7/30 18:14:36
すいません。社会的身分が高校生になっていましたが、『社会人』なので訂正します

>魔界の仮面弁士さん

早速の回答、ありがとうございます!

頂いたヒントをもとに、試行錯誤しています!

解決できたらお礼の返事書こうと思ったのですが、まだ時間かかりそうなので一応…


Dim bmp As System.Drawing.Bitmap("ファイルのパス~.tiff")

bmp.GetPropertyItem(259).Type

.Typeにして、csvファイルに出力したら『3』とでます。
この3は何の3ですか?
1 = Uncompressed
2 = CCITT 1D
3 = Group 3 Fax
4 = Group 4 Fax
5 = LZW
6 = JPEG
32773 = Pack Bits
の中の3ですか?
すいません、いまいち理解できてません…
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/7/29 13:11:03
> ヒントをお願いします
(コードではなく)ヒントが欲しいとの事なので…
TIFF の Compression タグは、&H103 です。
 1 = Uncompressed
 2 = CCITT 1D
 3 = Group 3 Fax
 4 = Group 4 Fax
 5 = LZW
 6 = JPEG
 32773 = Pack Bits

> どの命令を使えば良いのでしょうか?
下記に、メソッド名を列挙しておきます。

> 圧縮形式とか
GetPropertyItem メソッド

> マルチTIFFのページ数とか
GetFrameCount メソッド
投稿者 k-z  (高校生) 投稿日時 2010/7/29 12:00:29
はじめまして!k-zと言います。よろしくお願いします。

早速ですが、質問をします。

選択したフォルダの中の画像データ(JPEGとTIFF・マルチTIFF)の情報を取得したいのですが、うまくいかなくて困っています。

System.Drawing.Bitmapで高さとか幅とか、解像度は取得できるんですが、圧縮形式とか、マルチTIFFのページ数とかはどうすればいいのでしょう?どの命令を使えば良いのでしょうか?ヒントをお願いしますm(_ _)m