Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > Visual Basic, Visual Basic.NET

Visual Basic, Visual Basic.NET Alles zum Thema - Visual Basic und Visual Basic.NET
Fragen zu VBA bitte in das Forum Office-Anwendungen posten!

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3338, Antworten: 125
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26943, Antworten: 4219
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50950, Antworten: 1396
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7660, Antworten: 186
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 321, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 26, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 32, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 65, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 152, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 78, Antworten: 4
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10.08.2007, 12:15   #1 (Direktlink)
Matt_
Gast
 
Beiträge: n/a
Standard Kamerabild(Livebild) soll alle 10 Sekunden automatisch als B

Eine USB Kamera liefert ein Live-Bild. Nun soll ein Bild aus dem Stream rausgegriffen
und gespeichert werden. Das soll alle 10 Sekunden geschehen.
In folgender Funktion fehlt die Methode, wie ich der Variablen bmp das Bild übergeben
muss. Die darauffolgende Zeile habe ich bereits getestet(Das Speichern selbst würde
funktionieren, die Übergabe des Bildes funktioniert eben nicht).

Private Sub Speichern()
Me.Show()
Dim myCam As New iCam
Dim i As Integer = 0
Dim dateinamenszusatz As String
Dim bmp As Bitmap
dateinamenszusatz = i.ToString
bmp = '**********diese Zeile ist gemeint**********
bmp.Save("C:\MiniCam_Bilder\Bild" + dateinamenszusatz + ".bmp")
i = i + 1
Me.Close()
End Sub



Hier folgt nun die Vorgänger-Version des Programms mit allen relevanten Codezeilen.

Private myCam As iCam

Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.picOutput.SizeMode = PictureBoxSizeMode.StretchImage
myCam = New iCam
myCam.initCam(Me.picOutput.Handle.ToInt32)'Livebild wird übertragen
End Sub

Private Sub cmdViewStill_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdViewStill.Click
If myCam.iRunning Then
Dim a As FrmImage
a = New FrmImage

a.picImage.Image = myCam.copyFrame(Me.picOutput, New RectangleF(0, 0, _
Me.picOutput.Width, Me.picOutput.Height))
Me.Show()
Else
MessageBox.Show("Camera Is Not Running!")
End If
End Sub

Wenn ich das Bild speichern möchte:

Private Sub Speichern()
Me.Show()
Dim myCam As New iCam
Dim i As Integer = 0
Dim dateinamenszusatz As String
Dim bmp As Bitmap
dateinamenszusatz = i.ToString
bmp = CType(picImage.Image, Bitmap)
bmp.Save("C:\MiniCam_Bilder\Bild" + dateinamenszusatz + ".bmp")
i = i + 1
Me.Close()
End Sub

funktioniert das auch, aber nur solange ich einen Button klicke, welcher danach die Funktion Speichern() aufruft.
Wenn ich den Button per Software klicken lasse, läd das Programm nicht mehr das Bild in die PictureBox, sondern
den dahinterliegenden Ausschnitt des Desktops. In die Datei wird also ein Teil meines Bildschirms gespeichert.
Wenn ich statt des Buttons einfach nur eine Funktion programmiere welche ohne den Button anfängt Bilder zu speichern
entsteht wieder das Resultat mit dem Bildschirmhintergrund.
Ich versuche nun das Bild direkt in ein Bitmap zu speichern, ohne es zuvor in die PictureBox zu laden.
So könnte ich vermeiden, dass in der PictureBox der Bildschirmhintergrund landet.
Also:
Wenn mir jemand einen Code zeigen kann welcher die 2 Zeilen:

a.picImage.Image = myCam.copyFrame(Me.picOutput, New RectangleF(0, 0, _
Me.picOutput.Width, Me.picOutput.Height))

ersetzt durch Zeilen welche direkt das Bild in ein Bitmap speichert wie z.B.

Dim bmp as Bitmap
bmp = myCam.copyFrame(Me.picOutput, New RectangleF(0, 0, _ 'diese 2 Zeilen hier funktionieren natürlich nicht
Me.picOutput.Width, Me.picOutput.Height)) 'sonst wäre das Problem gelöst

wäre ich sehr dankbar.

Ich verwende WinXP
VisualBasic Express
  Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 20.08.2007, 12:13   #2 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 10.08.2007
Beiträge: 1
Standard Bitte löschen

Der Beitrag ist nicht mehr aktuell und kann gelöscht werden.
Matt_4 ist offline   Mit Zitat antworten
Alt 20.08.2007, 20:30   #3 (Direktlink)
Premium Mitglied
 
Registriert seit: 05.11.2003
Beiträge: 6.545
Standard

Wir löschen keine Beiträge nur weil sie nicht mehr aktuell sind, sonst wäre ja das Forum leer.

MfG
__________________
Montag früh, 8:00 Uhr und die Woche nimmt einfach kein Ende
Jona ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > Visual Basic, Visual Basic.NET

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 10:16 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2