Feedback

VB - Alle Pixel einer bestimmten Farbe neu einfärben

Veröffentlicht von am 28.11.2006
(2 Bewertungen)
Diese Funktion ändert die Farbe aller Pixel mit einer bestimmten Farben in einer neuen Farbe.
''' <summary>
''' Diese Funktion ändert die Farbe aller Pixel mit einer bestimmten Farben in einer neuen Farbe
''' </summary>
''' <param name="SourceImage">Das Bild dessen Pixel neu gezeichnet werden sollen</param>
''' <param name="OldColor">Die alte Farbe</param>
''' <param name="NewColor">Die neue Farbe</param>
Public Function PixelRePaint(ByVal SourceImage As Image, ByVal OldColor As Color, ByVal NewColor As Color) As Bitmap
    Dim NewBitmap As New Bitmap(SourceImage.Width, SourceImage.Height)
    Dim CMap(0) As ColorMap

    CMap(0) = New ColorMap
    CMap(0).OldColor = OldColor
    CMap(0).NewColor = NewColor

    Dim ImgAttr As New ImageAttributes
    ImgAttr.SetRemapTable(CMap)

    Using G As Graphics = Graphics.FromImage(NewBitmap)
        G.DrawImage(SourceImage, _
            New Rectangle(0, 0, SourceImage.Width, SourceImage.Height), 0, 0, _
            SourceImage.Width, _
            SourceImage.Height, _
            GraphicsUnit.Pixel, _
            ImgAttr)
    End Using

    Return NewBitmap
End Function
Abgelegt unter Pixel, Farbe, Color, ColorMap, Bild.

2 Kommentare zum Snippet

Tim Hartwig schrieb am 28.11.2006:
Und so sieht dann das Ergebnis aus wenn man alle weißen Pixel in Schwarze Pixel umwandelt:
<a href="http://home.arcor.de/khartak/dev/cmap/vorher.jpg">Vorher</a>
<a href="http://home.arcor.de/khartak/dev/cmap/nachher.jpg">Nachher</a>
SaSu schrieb am 28.11.2006:
Hier findet man auch echt alles. Echt Klasse was einige Leute so auf die Reihe kriegen ich als Amatuer würd sowas gar nicht hinbekommen. Mach nur weiter so *Thumbsup*.
 

Logge dich ein, um hier zu kommentieren!