0

kEdsSaveTo_Host を使用してイベントをキャッチして撮影したばかりの写真をディスクに正常にダウンロードできます。

しかし、さまざまな理由から、すぐに PC にダウンロードするのではなく、撮影し、カメラで利用可能なものを参照し、最新の画像を取得して削除する必要があります。

これは canon SDK で可能ですか? kEdsSaveTo_Camera を使用することはできません。SD を参照するにはどうすればよいですか? 画像をダウンロードするにはどうすればよいですか? canon sdkでできることですか、それとも単にカメラを解放してから、Windows APIを使用してコンテンツを参照し、画像をダウンロードして削除する必要がありますか?

前もって感謝します!

4

1 に答える 1

1

EdsGetChildCount、EdsGetChildAtIndex、および EdsGetVolumeInfo または EdsGetDirectoryItemInfo を呼び出して、ファイル システムを調べることができます。

基本的には、カメラポインタをパラメータとして EdsGetChildCount を呼び出し、ボリューム数を取得します。EdsGetChildAtIndex (再びカメラ ポインターをパラメーターとして) を使用してすべてのボリュームを調べ、EdsGetChildAtIndex 呼び出しからのボリューム ポインターを使用して EdsGetVolumeInfo を呼び出し、ボリュームに関する情報を取得します。

各ボリュームで、ファイルとフォルダーを取得する前と同じことができますが、カメラ ポインターの代わりにボリューム ポインターを渡します。ファイルまたはフォルダーに関する情報を取得するには、EdsGetDirectoryItemInfo を使用します。この関数が返す構造体は、それがフォルダーかファイルかを示します。

フォルダーの場合は、上記をもう一度繰り返すことができますが、もちろん、ボリュームの代わりにフォルダー ポインターを使用します。

ファイルをダウンロードするには、SaveTo_Host と同じように行い、ファイル ポインターを使用します。

C# を読んでもかまわない場合は、このプロジェクトですべてを実装しました: http://www.codeproject.com/Articles/688276/Canon-EDSDK-Tutorial-in-Csharp

最も関連性の高い部分は、Camera.cs ファイルの下部にあります。

于 2016-06-30T15:26:44.677 に答える