Hi
Ich möchte gerne einen "ScreenRecorder" programmieren. Diesen Teil hab ich schon:
-- Form1 --
-- Form2 --
So wie ihr wahrscheinlich gesehen habt ist die erste Form das (Haupt)-Programm was aufnimmst und abspielen kann und die zweite Form ist die Vorschau.
Jetzt kommt mein Problem:
Wie kann ich die einzelnen PNG-Bilder zu einer AVI-Datei zusammenfügen?
Vielen Dank für Antworten :D
Ich möchte gerne einen "ScreenRecorder" programmieren. Diesen Teil hab ich schon:
-- Form1 --
VB.NET-Quellcode
- Public Class Form1
- Declare Function GetAsyncKeyState Lib "User32" (ByVal vkKey As Integer) As Short
- Private Sub RecScreem_Tick(sender As System.Object, e As System.EventArgs) Handles RecScreen.Tick
- Dim ScreenSize As Size = New Size(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
- Dim BMP As New Bitmap(My.Computer.Screen.Bounds.Height, My.Computer.Screen.Bounds.Width)
- Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(BMP)
- g.CopyFromScreen(New Point(0, 0), New Point(0, 0), ScreenSize)
- Dim DirectoryA As String = FileDir.Text
- Dim Frame1 As String = FileNum.Text
- Dim img1 As String = FileTyp.Text
- FileNum.Text = FileNum.Text + 1
- BMP.Save(DirectoryA & Frame1 & img1)
- End Sub
- Private Sub PlayVideo_Tick(sender As System.Object, e As System.EventArgs) Handles PlayVideo.Tick
- Dim DirectoryA As String = FileDir.Text
- Dim Frame0 As String = FileNum.Text
- Dim img0 As String = FileTyp.Text
- FileNum.Text = FileNum.Text + 1
- Try
- VideoScreen.VideoScreenRec.Load(DirectoryA & Frame0 & img0)
- Catch ex As Exception
- PlayVideo.Enabled = False
- MsgBox("Fehler: " & ex.Message)
- End Try
- End Sub
- Private Sub Rec_Click(sender As System.Object, e As System.EventArgs) Handles Rec.Click
- MsgBox("Um ein Video zu machen wird dieses Programm zunächst unsichtbar gemacht." & vbCrLf & _
- "" & vbCrLf & _
- "Drücke F10 um es wieder sichtbar zu machen." & vbCrLf & _
- "Drücke F9 um es unsichtbar zu machen." & vbCrLf & _
- "Drücke F11 um es sichtbar zu machen und um die Aufnahme zu stoppen")
- Me.Opacity = 0.0001
- RecScreen.Enabled = True
- FileNum.Text = "0"
- End Sub
- Private Sub Ply_Click(sender As System.Object, e As System.EventArgs) Handles Ply.Click
- MsgBox("Für die Vorschau wird das Programm unsichtbar gemacht schließe die Vorschau um es wieder sichtbar zu machen!" & vbCrLf & _
- "Außerdem kann es sein das während der Vorschau das Bild etwas in die Breite gezogen ist das sollte sich aber im richtigen Video ändern")
- Try
- If PlayVideo.Enabled = True Then
- MsgBox("Stoppe die Aufnahme und versuche es nochmal")
- Else
- VideoScreen.Show()
- PlayVideo.Enabled = True
- FileNum.Text = "0"
- Me.Hide()
- End If
- Catch ex As Exception
- MsgBox("Ende!")
- End Try
- End Sub
- Private Sub StpV_Click(sender As System.Object, e As System.EventArgs) Handles StpV.Click
- VideoScreen.Hide()
- PlayVideo.Enabled = False
- End Sub
- Private Sub FileLocation_Click(sender As System.Object, e As System.EventArgs) Handles FileLocation.Click
- FolderBrowserDialog1.ShowDialog()
- FileDir.Text = FolderBrowserDialog1.SelectedPath & "\"
- End Sub
- Private Sub StpR_Click(sender As System.Object, e As System.EventArgs) Handles StpR.Click
- RecScreen.Enabled = False
- End Sub
- Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
- If GetAsyncKeyState(Keys.F10) Then
- Me.Opacity = 1
- End If
- If GetAsyncKeyState(Keys.F9) Then
- Me.Opacity = 0.0001
- End If
- If GetAsyncKeyState(Keys.F11) Then
- Me.Opacity = 1
- RecScreen.Enabled = False
- End If
- End Sub
- Private Sub int10_Click(sender As System.Object, e As System.EventArgs)
- PlayVideo.Interval = txtInterval.Text
- RecScreen.Interval = txtInterval.Text
- End Sub
- End Class
-- Form2 --
So wie ihr wahrscheinlich gesehen habt ist die erste Form das (Haupt)-Programm was aufnimmst und abspielen kann und die zweite Form ist die Vorschau.
Jetzt kommt mein Problem:
Wie kann ich die einzelnen PNG-Bilder zu einer AVI-Datei zusammenfügen?
Vielen Dank für Antworten :D
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „PhoenixBlaster“ ()