- PR -

拡張子「ai」や「psd」等の情報を取得する方法

1
投稿者投稿内容
武稜
会議室デビュー日: 2004/07/07
投稿数: 10
投稿日時: 2006-10-23 13:56
お世話になります。
ASP.NETで、登録画像データの一覧を作成しております。
そこで、画像自体の情報は極力、プロパティ情報から取得したいと思っています。

System.IO.FileInfoを使用して
 「ファイル名」「容量」「作成日・更新日」「拡張子」
等は、ほぼどんな拡張子でも取得できるのですが、

「縦・横」、「垂直・水平」解像度、「色深度」
が取得できません。

gifやjpeg、png、tiff等はSystem.Drawing.Bitmapクラスで問題ないのですが、
件名にあるような ai、psd や pict、icons 等は情報が取得できません。

これらのWindows標準じゃない?画像ファイルの情報を得るにはどのような方法がありますでしょうか?
それとも、そもそもOSが認識しない段階で取得は不可能なのでしょうか?

参考までに、gifなど縦横等の取得は以下のようにしております。
コード:
AAA = New Bitmap(strImagePath)
'縦
strBuf.Append("縦幅(pix):" + CStr(AAA.Height))
'横
strBuf.Append("横幅(pix):" + CStr(AAA.Width))
'垂直方向の解像度
strBuf.Append("垂直方向の解像度(dpi):" + CStr(AAA.VerticalResolution))
'水平方向の解像度
strBuf.Append("水平方向の解像度(dpi):" + CStr(AAA.HorizontalResolution))
'色深度
strBuf.Append("色深度:" + CStr(AAA.GetPixelFormatSize(AAA.PixelFormat)))
:
:



お手数ですが、どんな情報でも構いません。
ご教授願います。

開発環境:VS.NET2003
言語:VB.NET
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2006-10-23 14:49
なんかしら自分で作るしか無い様な気がするな。
(検索したけど)

C++なら

http://www.paintlib.de/paintlib/
http://freeimage.sf.net/

等があるので、これを応用してつくるしか無いかも
_________________
Inspired Ambitious
ISMS Assistant Auditor
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2006-10-23 15:02
Adobeサイトから、SDKをダウンロードできるみたい(登録は必要っぽい)ので、
拾ってみては?

http://partners.adobe.com/public/developer/photoshop/devcenter.html
http://partners.adobe.com/public/developer/illustrator/devcenter.html

古いバージョンのSDKのドキュメントにファイルフォーマットが記載されていたので、最新版にも記載されているのではないかと期待。

あとは、解析して、自分で作るしかないと。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-10-23 15:57
アプローチとしては二通りかと...

1.画像ファイルを解析する処理を自前で用意する。
2.Structured Storage(IPropertySetStorage等)の機能を使ってみる。
武稜
会議室デビュー日: 2004/07/07
投稿数: 10
投稿日時: 2006-10-23 21:48
返信遅くなりました、申し訳ありません。

To:NAOさん
ActiveXを利用したライブラリの情報ですね。
なにせ横文字あんまり得意じゃないもんで...
>http://www.paintlib.de/paintlib/
これで"pict"は行けそうですね。

To:かずくん さん
Adobe系のフォーマットだったら一番現実的ですかね。
>最新版にも記載されているのではないかと期待。
自分SDKのドキュメントではなく、Ill VerCSとCS2のドキュメントで確認しました。

To:甕星 さん
>2.Structured Storage(IPropertySetStorage等)の機能を使ってみる。
ん...申し訳ないです。いまいち掴めませんでした。(検索しても)
これは「そのフォーマットをサポートするコンポーネントが無くても触れるよ♪」
的な奴なんですかね?

To:ALL
皆さん、ありがとうございます。
「解析して自前で作る」が共通のアドバイスでした(汗;
正直なところ、「そんなことできるんだ...」です。

結局のところ、ai・psd等はIllを後ろで動かし、Mac依存の形式(pictやicons)は
「無理ですから」的なメッセージを表示するようになると思います。


重ねて、皆さんアドバイスありがとうございました。
これからも宜しくお願いします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-10-23 22:57
引用:

武稜さんの書き込み (2006-10-23 21:48) より:
To:甕星 さん
>2.Structured Storage(IPropertySetStorage等)の機能を使ってみる。
ん...申し訳ないです。いまいち掴めませんでした。(検索しても)
これは「そのフォーマットをサポートするコンポーネントが無くても触れるよ♪」
的な奴なんですかね?


ちょっと違う。ファイルのプロパティを開いた時、概要タブの詳細を表示する為の仕組み。それぞれファイル形式に対応したIPropertySetStorageがインストールされている必要がある。・・・けど、ファイルを表示できる状況なら、大抵こちらのコンポーネントも入っている。
武稜
会議室デビュー日: 2004/07/07
投稿数: 10
投稿日時: 2006-10-24 12:44
お世話になります。

To:甕星 さん
引用:

ちょっと違う。ファイルのプロパティを開いた時、概要タブの詳細を表示する為の仕組み。それぞれファイル形式に対応したIPropertySetStorageがインストールされている必要がある。・・・けど、ファイルを表示できる状況なら、大抵こちらのコンポーネントも入っている。


すごく判りやすい説明、ありがとうございます。
頑張ってみます。

1

スキルアップ/キャリアアップ(JOB@IT)