vb.net/c# を使用して画像編集 Windows フォーム アプリケーションを作成しています。コンピューターに接続されたデジタル スチル カメラから写真をキャプチャするクライアントの要件があります。
Windows アプリケーションで USB 接続のデジタル スチル カメラ デバイスから写真をキャプチャするにはどうすればよいですか?
vb.net/c# を使用して画像編集 Windows フォーム アプリケーションを作成しています。コンピューターに接続されたデジタル スチル カメラから写真をキャプチャするクライアントの要件があります。
Windows アプリケーションで USB 接続のデジタル スチル カメラ デバイスから写真をキャプチャするにはどうすればよいですか?
これは、カメラがエクスポートするインターフェースに依存します。これが標準の大容量ストレージ インターフェイスである場合は、標準のファイル インターフェイスを使用するだけです。つまり、カメラがリムーバブル ディスクとして表示され、標準の作成/読み取り/書き込み/ファイル操作を使用できます。
多くの新しいカメラには、ptp (Picture Transport Protocol) インターフェイスが搭載されています。そのため、 Windows Image Acquisition APIを使用する必要があります。
次のリンクが役立つ場合があります。私が正しく理解している場合、これはまさにあなたが探しているもののサンプルコードです。Google はあなたの友達です :)
別の情報: 多くのカメラは大容量ストレージと ptp インターフェイスの両方をサポートし、カメラのユーザー インターフェイスで選択できます。自動モードの場合、カメラはおそらく ptp インターフェイスに切り替わります。
カメラが接続されているコンピューターから写真を撮るアクションをアクティブにしたいと思います。その場合、私が最初に行うことは、その特定のカメラ モデルの API を検索することです。カメラ内のメモリカードにアクセスする以外に、デジタルカメラとやり取りするための標準プロトコル/フレームワークがあるとは思いません。
通常、カメラは接続時にリムーバブルドライブとして表示されます。
したがって、Winformsアプリケーションの場合は、アップロードするドライブと画像をユーザーに選択させるだけです。画像のFileStreamを取得したら、任意の処理を実行できます。
ASP.netでは、FileUploadコントロールが必要になります。ここでも、ユーザーはアップロードするドライブと画像を選択できます。今回の処理は、HttpRequest.FilesオブジェクトのMemoryStreamを介して行われます。
お役に立てば幸いです。
これはカメラによって異なります。
多くのカメラは、USBマスストレージデバイスとしてマウントするだけです。この場合、外部ディスク上の他のファイルと同じように、表示されているファイルシステムからファイルをコピーできます。
カメラがこの方法でコンテンツを利用できない場合は、カメラドライバーのドキュメントを参照して、カメラとの対話を推奨する方法を確認する必要があります。
カメラのブランドによって異なります。キヤノンの最初のリンクは次のとおりです。