vb.net, asp.net 또는 C#을 사용하여 USB 케이블을 통해 내 컴퓨터에 연결된 디지털 카메라에서 사진을 어떻게 찍나요?

StackOverflow https://stackoverflow.com/questions/75691

  •  09-06-2019
  •  | 
  •  

문제

vb.net/c#을 사용하여 그림 편집 Windows 양식 응용 프로그램을 작성 중입니다.컴퓨터에 연결된 디지털 스틸 카메라에서 사진을 캡처해야 하는 고객 요구 사항이 있습니다.

Windows 응용 프로그램에서 USB로 연결된 디지털 스틸 카메라 장치에서 사진을 캡처하려면 어떻게 해야 합니까?

도움이 되었습니까?

해결책

Windows 이미지 수집 라이브러리를 사용하는 경우 카메라의 새 사진 이벤트를 캡처하기 위한 이벤트가 표시됩니다.나는 비슷한 요구 사항을 갖고 테스트 장비를 작성했습니다.우리는 동네 카메라 가게에 가서 그들이 가지고 있는 모든 카메라를 시험해 보았습니다.이 기능을 지원하는 유일한 카메라는 Nikon D 시리즈 카메라였습니다.

우리는 대부분의 카메라가 연결되어 있으면 사진을 찍을 수도 없다는 것을 발견했습니다.USB 포트에 연결하면 대부분의 카메라는 데이터 전송만 수행하는 모드로 전환됩니다.카메라가 제대로 작동하는지 확인하는 가장 빠른 방법은 카메라를 PC에 연결한 다음 사진을 찍어보는 것입니다.그렇게 할 수 있다면 기회가 있습니다.또한 PTP를 지원해야 합니다.

다른 팁

이는 카메라가 내보내는 인터페이스에 따라 다릅니다.표준 대용량 저장 인터페이스인 경우 표준 파일 인터페이스만 사용하면 됩니다. 즉, 카메라가 이동식 디스크로 표시되고 표준 만들기/읽기/쓰기/파일 작업을 사용할 수 있습니다.
많은 새로운 카메라에는 ptp(사진 전송 프로토콜) 인터페이스가 있습니다.그래서 당신은 다음을 사용해야합니다 Windows 이미지 획득 API.

다음과 같은 유용한 정보를 찾을 수 있습니다. 링크.내가 올바르게 이해했다면 이것은 정확히 당신이 찾고 있는 것에 대한 샘플 코드입니다.구글은 당신의 친구입니다 :)

또 다른 정보:많은 카메라는 대용량 저장 장치와 ptp 인터페이스를 모두 지원하며 카메라 사용자 인터페이스를 통해 선택할 수 있습니다.자동 모드의 경우 카메라는 아마도 ptp 인터페이스로 전환될 것입니다.

카메라가 연결된 컴퓨터에서 사진을 찍는 작업을 활성화하고 싶다고 가정합니다.그렇다면 가장 먼저 할 일은 특정 카메라 모델에 대한 API를 검색하는 것입니다.나는 카메라 내의 메모리 카드에 액세스하는 것 외에 디지털 카메라와 상호 작용하기 위한 표준 프로토콜/프레임워크가 있다고 생각하지 않습니다.

일반적으로 카메라는 연결되면 이동식 드라이브로 표시됩니다.

따라서 Winforms 애플리케이션의 경우 사용자가 업로드하려는 드라이브와 사진을 선택하도록 하세요.그림의 FileStream이 있으면 모든 처리를 수행할 수 있습니다.

ASP.net에서는 사용자가 업로드할 드라이브와 사진을 다시 선택할 수 있는 FileUpload 컨트롤이 필요합니다.이 시간의 처리는 HttpRequest.Files 개체의 MemoryStream을 통해 이루어집니다.

도움이 되길 바랍니다.

이는 카메라에 따라 다릅니다.

많은 카메라는 단순히 USB 대용량 저장 장치로 장착됩니다.이 경우 외부 디스크의 다른 파일과 마찬가지로 표시되는 파일 시스템에서 파일을 복사하면 됩니다.

카메라가 이러한 방식으로 콘텐츠를 제공하지 않는 경우 카메라 드라이버 설명서를 참조하여 상호 작용을 권장하는 방법을 확인해야 합니다.

카메라 브랜드에 따라 다릅니다.다음은 시작하는 링크입니다. 정경.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top