[VB] Wie ruft man diese Function auf?

09/21/2013 17:51 EasyFarm#1
Hi.

Kleines problem ^^
Ich habe 3 Pictureboxen, 2 möchte ich kombinieren und in der 3 anzeigen.
So sieht meine Function aus:

Code:
 Private Function ImageAddColorEffect(image1 As Bitmap, image2 As Bitmap) As Bitmap
        Dim NewBitmap As New Bitmap(image1.Width, image1.Height)
        For X As Integer = 0 To image1.Width - 1
            For Y As Integer = 0 To image1.Height - 1
                Dim R As Integer = Math.Min(CInt(image1.GetPixel(X, Y).R) + image2.GetPixel(X, Y).R, 255)
                Dim G As Integer = Math.Min(CInt(image1.GetPixel(X, Y).G) + image2.GetPixel(X, Y).G, 255)
                Dim B As Integer = Math.Min(CInt(image1.GetPixel(X, Y).B) + image2.GetPixel(X, Y).B, 255)
                Dim NewColor As Color = Color.FromArgb(R, G, B)
                NewBitmap.SetPixel(X, Y, NewColor)
            Next
        Next
        Return NewBitmap
    End Function
Doch wie rufe ich diese auf?

Danke :S
Mfg. Easy
09/21/2013 18:20 tolio#2
die bilder aus box 1 und 2 zu bitmaps machen und als parameter angeben und das ergebniss in box 3 ausgeben

wenn dir das nicht klar ist lass sein was auch immer du da tust sein, gehe zurück auf los und fang mit programmieren lernen von vorne an
09/22/2013 08:37 VBJ#3
Code:
PictureBox3.Image = ImageAddColorEffect(PictureBox1.Image, PictureBox2.Image)
Ungetestet!
09/22/2013 14:26 tolio#4
^afaik ist ein image ist vom typ image und nicht bitmap
09/22/2013 14:34 VBJ#5
Dann:

Dim bmp as Bitmap = PictureBox1.image
Dim bmp2 as Bitmap = PictureBox2.image
PictureBox3.Image = ImageAddColorEffect(bmp, bmp2)
09/22/2013 15:07 tolio#6
nen image ist immernoch kein bitmap

option strict und sowas
es gibt mit sicherheit entsprechende methoden die die image oder bitmap klassen bereitstellen um das zu konvertieren, aber mit nem gleich ist es nicht getan, implizierte konvertierung, vorallem bei komplexen typen kann gewaltig schief gehen
09/22/2013 16:10 qkuh#7
Quote:
Dim bmp As Bitmap = DirectCast(pictureBox1.Image, Bitmap)
Dim bmp2 As Bitmap = DirectCast(pictureBox2.Image, Bitmap)
pictureBox3.Image = ImageAddColorEffect(bmp, bmp2)
So ist es richtig.
09/22/2013 16:17 tolio#8
ich würde den konstruktor direkt nutzen

dim bmp as bitmap = new bitmap(image)