|
| |

VB.NET - Fortgeschrittene| Bild mit DigiCam aufnehmen und anzeigen... | |  | | Autor: silast | | Datum: 04.03.12 14:53 |
| Hallo Leute,
ich habe mal wieder ein Problem:
Ich möchte ein Bild mit meiner DigiCam aufnehmen und in einer PictureBox anzeigen lassen. In google habe ich ein Beispiel gefunden: "WIA":
Private SelectedDevice As WIA.Device
Private SavePath As String
Private SavedFilePath As String
Private Sub btnGrab_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnGrab.Click
Dim item As WIA.Item
Try
'executes the device's TakePicture command
item = SelectedDevice.ExecuteCommand( _
WIA.CommandID.wiaCommandTakePicture)
Catch ex As System.Exception
MessageBox.Show("Problem Taking Picture. Please make sure that the" & _
"camera is plugged in and is not in use by another application. " _
& vbCrLf & "Extra Info:" & ex.Message, "Problem Grabbing" & _
"Picture", MessageBoxButtons.OK, MessageBoxIcon.Warning, _
MessageBoxDefaultButton.Button1, _
MessageBoxOptions.DefaultDesktopOnly)
Exit Sub
End Try
Dim jpegGuid As String
'retrieves jpegKey from registry, used in saving JPEG
Dim jpegKey As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.ClassesRoot.OpenSubKey( _
"HKEY_CLASSES_ROOT\Media Type\Extensions\.jpg")
jpegGuid = CType(jpegKey.GetValue("FormatGUID"), String)
'loops through available formats for the captured item, looking for the
' JPG format
For Each format As String In item.Formats
If (format = jpegGuid) Then
'transfers image to an imagefile object
Dim imagefile As WIA.ImageFile = CType(item.Transfer(format), _
WIA.ImageFile)
Dim Counter As Integer 'counter in loop appended to filename
Dim LoopAgain As Boolean = True
'searches directory, gets next available picture name
Do Until LoopAgain = False
Dim Filename As String = SavePath & "\" & txtPrefix.Text & _
Counter.ToString & ".jpg"
'if file doesnt exist, save the file
If Not System.IO.File.Exists(Filename) Then
SavedFilePath = Filename
imagefile.SaveFile(Filename) 'saves file to disk
lblCapName.Text = FormatPath(Filename)
lblImageName.Text = txtPrefix.Text & Counter.ToString & _
".jpg"
picCap.Image = Image.FromFile(Filename) 'loads captured
' file to picturebox
LoopAgain = False
End If
Counter = Counter + 1
Loop
End If
Next
If grpSaved.Enabled = False Then
grpSaved.Enabled = True
End If
End Sub
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
GetDevice() 'gets device
SavePath = Application.StartupPath 'sets savepath to application
' directory
lblPath.Text = FormatPath(SavePath)
End Subes funktioniert soweit das die Kamera auslöst und das Foto schießt, aber dann bekomme ich einen Fehler mit diesem Registry-Schlüssel und das Bild wird nicht lokal abgespeichert und natürlich auch nicht angezeigt... Ich stehe auf dem Schlauch! Was mache ich falsch bzw. gibt es noch eine andere Methode um Bilder mit der Digicam aufzunehmen??
Hier die Fehlermeldung:
ype(jpegKey.GetValue("FormatGUID"), String)
erenceException" wurde nicht behandelt
Danke schonmal im Voraus
Gruß Silas |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
| |
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|