- - PR -
C# デジカメの撮影日時を取得するプログラム
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-10-19 11:04
今、デジカメの撮影日時を取得するプログラムを作ろうとしています。
といっても初心者なので、@ITの記事(.NET TIPS>デジカメ画像のExif情報を取得するには?)を参考にさせてもらおうと、サンプルプログラムを動かそうとしたのですが、うまく動いてくれません。 参照記事 http://www.atmarkit.co.jp/fdotnet/dotnettips/047exif/exif.html args.Lengthに0の値が入っていて、下のif文にひっかかって、デジカメ画像を指定してくださいの文字だけ出力されて終わってしまいます。 if (args.Length <= 0) { Console.WriteLine("デジカメ画像を指定してください。"); return; } とても初心者な質問だとは思いますが、デジカメの撮影日時を取得するサンプルプログラムを動かせた方いらっしゃいましたら、どうぞよろしくお願い致します。 [ メッセージ編集済み 編集者: syoshinsya 編集日時 2005-10-19 11:07 ] | ||||
|
投稿日時: 2005-10-19 11:38
「コマンドライン引数」について調べてみてください。 コマンドライン引数にファイル パスを指定することで解決します。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-10-19 11:46
Exif情報を扱うソフトです。
http://www.vector.co.jp/soft/winnt/art/se328332.html このツールで、上記exeから、プログラムソースを取り出せます。 http://www.vector.co.jp/soft/winnt/prog/se328340.html 参考になれば | ||||
|
投稿日時: 2005-10-20 05:55
VS.NET のデバッグ環境でファイル名を指定する方法を聞いているとか?
今、VS.NET2003 が入っている環境がないのですが、ツールメニューの[プロジェクト]→[デバッグ]で、「コマンドライン引数」を指定する欄がないですか?(VS2005 を元にしています) ___________________________________________________________________ □ written by Jitta on 2005/10/19 □ Microsoft MVP :Visual Developer ASP/ASP.NET Oct.2004-Sept.2006 _________________ | ||||
|
投稿日時: 2005-10-20 08:41
VS2003 では、 [プロジェクト] - [xxx のプロパティ] - [構成プロパティ ペイン] - [デバッグ] - [コマンド ライン引数] にありますね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-10-20 12:19
じゃんぬねっとさん、catsさん、Jittaさん、返信ありがとうございます。
>じゃんぬねっとさん デジカメの画像を指定することができ、最後までプログラムが動きました!ありがとうございます。 >catsさん こんな便利なフリーソフトがあるんですね。参考にさせていただきます! >Jittaさん Visual C# 2005 Express Edition Bata 2を使っています。コマンドライン引数について知らなかったもので・・・プログラムが動かない理由すらわからなかったんです(^^; 返信、遅れてすみません。ただ返信が遅れたのには理由がありましてプログラムは動いたのですが、肝心の撮影日時を取得できなくて、昨日からずっと考えてました・・。 でも今やっと撮影日時の取得に成功しました・・・!なんで成功したのか原因は不明ですが^^; みなさん、どうもありがとうございました! | ||||
|
投稿日時: 2005-10-20 12:30
ごめんなさい、少し気になるので...
コマンド ライン引数を指定していなかったがために、最初のチェックで終了していたものが、 正しく指定することで先の処理へ遷移できたから「成功」したのではないのでしょうか? それだけではダメだった、ということでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-10-20 13:25
いえいえ。こちらとしても聞いてもらえるとありがたいです。
問題はif文の後の部分です。 if (args.Length <= 0) { Console.WriteLine("デジカメ画像を指定してください。"); return; } string oldName = args[0]; Bitmap bitmap = new Bitmap(oldName); int[] pils = bitmap.PropertyIdList; エラーではないみたいなんですけど、Bitmap bitmap = new Bitmap(oldName);の部分が"ArgumentExceptionはハンドルされませんでした。"と表示されて、デバック中にプログラムが動かなくなっちゃうんですよね・・・。 さっきやったときは撮影日時でリネームできたんですけど、今またデバックしたら動かなくなったりで。 これはちょっと解決させなきゃまずいですよね・・。 |