2008-09-16 5 views

Antwort

5

Wenn Sie die Windows-Bilderfassungsbibliothek verwenden, werden dort Ereignisse zum Erfassen neuer Kameraereignisse angezeigt. Ich hatte eine ähnliche Anforderung und schrieb einen Prüfstand; Wir gingen in den örtlichen Fotoladen und probierten jede Kamera, die sie hatten. Die einzigen Kameras, die wir finden konnten, die diese Funktionalität unterstützten, waren die Kameras der Nikon D-Serie.

Wir haben festgestellt, dass Sie mit den meisten Kameras nicht einmal ein Bild aufnehmen können, wenn sie angeschlossen sind. Wenn Sie sie an den USB-Anschluss anschließen, werden die meisten Kameras in einen Modus wechseln, in dem sie nur tun ist Übertragungsdaten.Der schnellste Weg, herauszufinden, ob eine Kamera überhaupt funktioniert, ist, sie an einen PC anzuschließen und dann ein Bild zu machen. Wenn Sie es tun können, haben Sie eine Chance. Es muss auch PTP unterstützen.

+0

Matt @ Nikon D-Serie Unterstützen Sie diese Aktion? –

0

Normalerweise wird die Kamera als angehängtes Wechseldatenträger angezeigt.

So lassen Sie für eine Winforms-Anwendung nur das Laufwerk und das Bild auswählen, die Sie hochladen möchten. Sie können jede Verarbeitung durchführen, sobald Sie den FileStream des Bildes haben.

In ASP.net benötigen Sie ein FileUpload-Steuerelement, wo der Benutzer das Laufwerk und Bild zum Hochladen auswählen kann. Die Verarbeitung dieser Zeit erfolgt über MemoryStream für das HttpRequest.Files-Objekt.

Hoffe, dass hilft.

0

Das hängt von Ihrer Kamera ab.

Viele Kameras werden einfach als USB-Massenspeichergeräte installiert. Wenn dies der Fall ist, können Sie die Datei einfach aus dem sichtbaren Dateisystem kopieren wie jede andere Datei auf einer externen Festplatte.

Wenn die Kamera ihre Inhalte nicht auf diese Weise zur Verfügung stellt, müssen Sie in der Dokumentation des Kameratreibers nachsehen, wie sie die Interaktion mit ihr empfehlen.

0

Es hängt von der Marke der Kamera ab. Hier ist ein Link zum Beginnen mit Canon.

+0

danke Mark. Dieser Link wird mir helfen, SDK des Kameramodells zu finden, das ich verwende. – bugBurger

1

Ich nehme an, Sie möchten die Aktion der Aufnahme eines Bildes von dem Computer aktivieren, an dem die Kamera angeschlossen ist. Wenn das der Fall ist, suche ich als erstes nach einer API für dieses spezielle Kameramodell. Ich glaube nicht, dass es neben dem Zugriff auf die Speicherkarte in der Kamera ein Standardprotokoll/Framework für die Interaktion mit Digitalkameras gibt.

2

Dies hängt von der Schnittstelle ab, die die Kamera exportiert. Wenn dies eine Standard-Massenspeicherschnittstelle ist, verwenden Sie einfach die Standard-Dateischnittstelle, d. H. Sie sehen die Kamera als Wechseldatenträger und können die Standard-Erstellungs-/Lese-/Schreib-/Dateioperation verwenden.
Viele neue Kameras haben eine ptp-Schnittstelle (Picture Transport Protocol). Sie müssen also Windows Image Acquisition API verwenden.

Sie könnten nützlich folgende Link finden. Wenn ich das richtig verstehe, ist dies ein Beispielcode für genau das, was Sie suchen. Google ist dein Freund :)

Ein weiteres Stück von Informationen: viele Kameras werden sowohl Massenspeicher-und Ptp-Schnittstellen und es wird durch Kamera-Benutzeroberfläche wählbar sein. Im Falle des automatischen Modus wird die Kamera wahrscheinlich zur ptp-Schnittstelle wechseln.

+0

Danke, ich lese WIA Doc und kann es für c/C++ sein? Nicht für VB.nET, C# – bugBurger