2008-09-16 32 views
6

Tôi đang viết ứng dụng chỉnh sửa hình ảnh bằng cách sử dụng vb.net/c#. tôi có yêu cầu của khách hàng để chụp ảnh từ máy ảnh kỹ thuật số vẫn được gắn vào máy tính.Tôi làm cách nào để chụp ảnh từ máy ảnh kỹ thuật số được kết nối với máy tính qua cáp USB bằng vb.net hoặc asp.net hoặc C#?

Tôi làm cách nào để chụp ảnh từ thiết bị camera tĩnh kỹ thuật số được kết nối USB trong ứng dụng cửa sổ của tôi?

Trả lời

5

Nếu bạn sử dụng Thư viện chuyển đổi hình ảnh Windows, bạn sẽ thấy các sự kiện ở đó để chụp các sự kiện ảnh mới của máy ảnh. Tôi đã có một yêu cầu tương tự và đã viết một giàn khoan thử nghiệm; chúng tôi đã đi đến cửa hàng máy ảnh địa phương và thử mọi camera họ có. Các máy ảnh duy nhất chúng tôi có thể tìm thấy hỗ trợ chức năng này là máy ảnh Nikon D-series. Chúng tôi thấy rằng với hầu hết các máy ảnh, bạn thậm chí không thể chụp ảnh khi chúng được cắm vào. Khi bạn cắm chúng vào cổng USB, hầu hết các máy ảnh sẽ chuyển sang chế độ duy nhất mà chúng sẽ thực hiện là chuyển dữ liệu.Cách nhanh nhất để tìm hiểu xem máy ảnh có hoạt động được hay không là cắm nó vào PC, sau đó thử chụp ảnh. Nếu nó cho phép bạn làm điều đó bạn có cơ hội. Nó cũng cần hỗ trợ PTP.

+0

Matt @ Nikon D-Series hỗ trợ hành động này? –

0

Thông thường máy ảnh được hiển thị dưới dạng ổ đĩa di động khi được gắn.

Vì vậy, đối với ứng dụng Winforms, chỉ cần cho phép người dùng chọn ổ đĩa và hình ảnh bạn muốn tải lên. Bạn có thể thực hiện bất kỳ thao tác nào sau khi đã có FileStream của ảnh.

Trong ASP.net, bạn sẽ cần một điều khiển FileUpload nơi người dùng có thể chọn ổ đĩa và hình ảnh để tải lên. Việc xử lý thời gian này sẽ thông qua MemoryStream trên đối tượng HttpRequest.Files.

Hy vọng điều đó sẽ hữu ích.

0

Điều này tùy thuộc vào máy ảnh của bạn.

Nhiều máy ảnh sẽ chỉ đơn giản là gắn kết với thiết bị lưu trữ USB. Nếu đây là trường hợp, sau đó bạn chỉ có thể sao chép các tập tin từ hệ thống tập tin có thể nhìn thấy như bạn sẽ bất kỳ tập tin khác trên một đĩa bên ngoài.

Nếu máy ảnh không hiển thị nội dung theo cách này, bạn sẽ cần phải xem tài liệu trình điều khiển máy ảnh để xem cách chúng đề xuất tương tác với nó.

0

Nó sẽ phụ thuộc vào thương hiệu của máy ảnh. Đây là một liên kết để bắt đầu với Canon.

+0

cảm ơn Mark. Liên kết này chắc chắn sẽ giúp tôi tìm SDK của mẫu máy ảnh mà tôi đang sử dụng. – bugBurger

1

Tôi giả sử bạn muốn kích hoạt hành động chụp ảnh từ máy tính mà máy ảnh được gắn vào. Nếu đó là trường hợp thì điều đầu tiên tôi sẽ làm là tìm kiếm một API cho mô hình máy ảnh cụ thể đó. Tôi không tin có một giao thức/khung chuẩn để tương tác với máy ảnh kỹ thuật số ngoài việc truy cập vào thẻ nhớ trong máy ảnh.

2

Điều này phụ thuộc vào giao diện máy ảnh xuất. Nếu đây là giao diện lưu trữ khối lượng tiêu chuẩn, bạn chỉ cần sử dụng giao diện tệp chuẩn, nghĩa là bạn sẽ thấy máy ảnh dưới dạng ổ đĩa di động và có thể sử dụng thao tác Tạo/Đọc/Ghi/Tệp chuẩn.
Nhiều máy ảnh mới có giao diện ptp (Giao thức truyền tải hình ảnh). Vì vậy, bạn sẽ cần sử dụng API Windows Image Acquisition.

Bạn có thể thấy hữu ích sau Link. Nếu tôi hiểu chính xác đây là một mã mẫu cho chính xác những gì bạn đang tìm kiếm. Google là bạn của bạn :)

Một thông tin khác: nhiều máy ảnh sẽ hỗ trợ cả lưu trữ khối lượng và giao diện ptp và giao diện người dùng máy ảnh sẽ có thể chọn lựa. Trong trường hợp máy ảnh chế độ tự động có thể sẽ chuyển sang giao diện ptp.

+0

Cảm ơn, tôi đã đọc tài liệu WIA và có thể là của nó cho c/C++? Không cho VB.nET, C# – bugBurger

Các vấn đề liên quan