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.
GFU-Schulungen  [Anzeige]

VB.NET 2017/2015/2013 Komplett

Ziel des Seminars ist der flexible Umgang mit VB.NET, wie z.B. die damit verbundene eigenständige Entwicklung von Programmen oder das Verwenden von Datenbanken.

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

''' <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!