0

私は C++ プログラミングの初心者で、Canon EDSDK 2.12 を使用して EOS 600D DSLR をリモート コントロールし始めています。ここのコードを使用して、カメラにアクセスして1枚の写真を撮る方法をよりよく理解しましたが、問題なく動作しますが、SDKの可能性を理解できないため、プログラムを続行する方法がわかりませんプログラミング リファレンス。

カメラのSDに保存した写真に、名前をつけて保存することはできますか?

そうでない場合

イベント ハンドラーを作成するにはどうすればよいですか? 写真が撮影されるたびに、SD 上のイメージ パス (一意の ID としてのフォルダーとイメージ名) で構成される文字列を取得し、それを使用して他のタスクを実行したいと考えています。

これが私がやりたいことを理解するのに役立つことを願っています。

4

2 に答える 2

-1

いくつかの解決策を考えることができます。

  1. Windows には、ディレクトリ内の変更を検出できるAPI (FindFirstChangeNotificationおよび) があります。FindNextChangeNotificatonカメラがコンピューター上で表される「ドライブ」を「ここからの通知を表示したい場所」として使用するだけです。Mac でプログラミングしたことはありませんが、同様のことを行うFSEventsと呼ばれるものがあるようです。

  2. カメラを信頼して、画像を一貫した名前で保存できます。アプリケーションが起動したら、カメラのストレージであるドライブで最後のファイルを見つけます。次に、「IMG_0991.JPG」[RAWモードを使用する場合は「JPG」を「CR2」に置き換えます]に番号を付けると、「IMG_0992.JPG」になります。これはいつでも、いつでも機能します。10000枚の画像を撮影すると、最終的に「IMG_0001.JPG」にラップアラウンドします(おそらく「DCIM/100CANON」ではなく「DCIM/101CANON」という新しいディレクトリに移動します)。

  3. ディレクトリをスキャンし、すべてのファイルのリストを保持します。その後、再度スキャンします。画像が多い場合は、少し時間がかかる場合があります。

于 2013-07-04T08:04:55.847 に答える