Farbe umkehren (Negativ)

    • Allgemein

    Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

      Farbe umkehren (Negativ)

      Moin Leute,
      Hier ein Tipp, wie ihr eine Farbe umkehren könnt. Ihr braucht dazu nur die (a)RGB Farbwerte, die ihr negativieren möchtet.

      Quellcode

      1. 255 - Alt_R => Neu_R
      2. 255 - Alt_G => Neu_G
      3. 255 - Alt_B => Neu_B


      Das war's schon. Der negative Wert ist einfach 255 minus den alten Wert.

      Vielleicht hilft es irgendwem.

      MfG 4typen
      Ich habe das mal in eine kleine Funktion gepackt.

      VB.NET-Quellcode

      1. Function reversecolor(ByVal x As Color) As Color
      2. Return Color.FromArgb(x.A,
      3. 255 - x.R,
      4. 255 - x.G,
      5. 255 - x.B)
      6. End Function


      Anwendung:

      VB.NET-Quellcode

      1. Label1.ForeColor = reversecolor(Label1.BackColor)


      BTW: die Farbe Grau hat die Werte (ARGB: 255/128/128/128). Wenn man das umkehrt, gibt's nicht viel Unterschied.
      Hi
      Oder:
      inverseArgb = Not sourceArgb

      bzw. ohne Berücksichtigung des Alphakanals:
      inverseArgb = (Not (sourceArgb Or &HFF000000)) Or (sourceArgb And &HFF000000)

      und als Funktion:

      VB.NET-Quellcode

      1. Public Shared Function InvertColor(ByVal colorValue As Color) As Color
      2. Return Color.FromArgb(Not (colorValue.ToArgb()))
      3. End Function
      4. Public Shared Function InvertColorKeepAlpha(ByVal colorValue As Color) As Color
      5. Return (Not (colorValue.ToArgb() Or &HFF000000)) Or (colorValue.ToArgb() And &HFF000000)
      6. End Function


      Gruß
      ~blaze~