2016-06-30 16 views
0

ちょうどkEdsSaveTo_Hostを使用して撮影した画像をディスクにダウンロードしてイベントをキャッチすることができます。Canon EOS SDK(C++)経由でSDカードで画像を参照

しかし、さまざまな理由から、私はすぐにPCにダウンロードする必要はありませんが、撮影し、カメラで利用できるものをブラウズし、最新の画像を入手して削除する必要があります。

これはCanon SDKで可能ですか?私は実際にkEdsSaveTo_Cameraを使って過去に行くことはできません。 SDをどのように閲覧しますか?どうやってイメージをダウンロードできますか?それはcanon sdkで何かできますか、単にカメラをリリースしてからWindows APIを使用してコンテンツをブラウズし、画像をダウンロードして削除しますか?

ありがとうございます!

答えて

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ファイルの一番下に最も関連性の高い部分を見つけることができます。

+0

ありがとう、本当に役に立ちます。ファイルを削除することも可能ですか? – Andrea

+0

@アンドレア、問題ありません!そして確かに、EdsGetDirectoryItemInfoを呼び出すことから得たファイル/フォルダポインタでEdsDeleteDirectoryItemを呼び出してください。 –

+0

ありがとうございました!私はEdsDeleteFileなどを探し続けていたので、私はそれを逃しました。私はEdsDeleteDirectoryItemを読んでも気にしませんでした。完全に私の悪い、私はバナナ=に行っていた)あなたが肯定的なSOユーザーであるために、ドキュメントに何かを指摘してくれてありがとう(私の防衛では、少し隠された:P) – Andrea

関連する問題