Moin,
ich hoffe, ihr könnt mir nochmal helfen.
Mein Testprogramm nimmt ein Bild bmp. Der Pfad kommt aus einer List(of String) mit dem Dateinamen. Dann wird dieses Bild in einer separaten Funktion verkleinert, auf 1920x1080. Ein Bild wird zurückgegeben. Dieses ist das bmp2. Dieses wird vom VideoFileWriter nicht akzeptiert.
Woran kann das liegen? Ich weiß, dass die Bildverkleinerungsfunktion gut funktioniert. Ist von hier, nur leicht verändert, weil die Skalierung falsch war. Das Bild wird in einer Picturebox testhalber ausgegeben (ist also nicht Nothing oder so).
Der Fehler lautet ungültiger Parameter.
CreateVideo Sub
ich hoffe, ihr könnt mir nochmal helfen.
Mein Testprogramm nimmt ein Bild bmp. Der Pfad kommt aus einer List(of String) mit dem Dateinamen. Dann wird dieses Bild in einer separaten Funktion verkleinert, auf 1920x1080. Ein Bild wird zurückgegeben. Dieses ist das bmp2. Dieses wird vom VideoFileWriter nicht akzeptiert.
Woran kann das liegen? Ich weiß, dass die Bildverkleinerungsfunktion gut funktioniert. Ist von hier, nur leicht verändert, weil die Skalierung falsch war. Das Bild wird in einer Picturebox testhalber ausgegeben (ist also nicht Nothing oder so).
Der Fehler lautet ungültiger Parameter.
CreateVideo Sub
VB.NET-Quellcode
- Public Function Bild_skalieren(ByVal Input As Bitmap) As Bitmap
- Dim Scale_X As Double = 1920 / Input.Size.Width
- Dim Scale_Y As Double = 1080 / Input.Size.Height
- Dim Size_X As Integer = CInt(Math.Round(Input.Size.Width * Scale_X, 0))
- Dim Size_Y As Integer = CInt(Math.Round(Input.Size.Height * Scale_Y, 0))
- Dim bitmap1 As New Bitmap(Size_X, Size_Y, Imaging.PixelFormat.Format24bppRgb) '24bppRgb ist wichtig
- Using Gr As Graphics = Graphics.FromImage(bitmap1)
- Gr.DrawImage(Input, 0, 0, Size_X, Size_Y)
- End Using
- PictureBox1.Image = bitmap1 'test
- Return bitmap1
- End Function
An die Neulinge: Nutzt
Option Strict On
und Option Infer Off
. Dadurch kommt ihr mit Datentypumwandlungen nicht durcheinander und der Code verbessert sich um Einiges! Solche Fehler à la Dim Beispiel As Integer = "123" können nicht mehr passieren.