Software-OK
≡... News | ... Home | ... FAQ | Impressum | Kontakt | Gelistet bei | Danke |

  
HOME ► Faq ► FAQ - Windows-CPP-und-C ► ««« »»»

Farbe umkehren RGB COLORREF InvertColor(COLORREF lColor)!


Es ist einfach Farbe umzukehren aus RGB Werten, bzw. der COLORREF mit der Funktion InvertColor(COLORREF color)!



Die Kommentare erklären, was die Makros GetRValue, GetGValue und GetBValue tun, und beschreiben den Zweck der InvertColor-Funktion. Diese Funktion extrahiert die Farbkomponenten, invertiert sie und erstellt dann eine neue COLORREF-Struktur mit den invertierten Werten.


#ifndef GetRValue
#define GetRValue(rgb) ((BYTE)(rgb))
#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
#define GetBValue(rgb) ((BYTE)((rgb)>>16))
#endif
 
// Diese Makros dienen dazu, die Rot-, Grün- und Blaukomponenten aus einer COLORREF-Struktur zu extrahieren.
// Sie werden definiert, wenn sie zuvor nicht definiert wurden.
 
COLORREF InvertColor(COLORREF color)
{
    // Extrahiert die Rot-, Grün- und Blaukomponenten der Farbe.
    long red   = 255 - GetRValue(color);
    long green = 255 - GetGValue(color);
    long blue  = 255 - GetBValue(color);
 
    // Erstellt eine neue COLORREF-Struktur mit den invertierten Farbwerten und gibt sie zurück.
    return RGB(red, green, blue);
}

Das Makro GetRValue, GetGValue und GetBValue wird verwendet, um die Rot-, Grün- und Blaukomponenten aus der COLORREF-Struktur zu extrahieren. Anschließend wird die Funktion InvertColor verwendet, um diese Farbwerte umzukehren und eine neue COLORREF-Struktur zurückzugeben, die die invertierten Farbwerte enthält.
 
Hier ist, wie Ihr Code funktioniert:
 
GetRValue(rgb): Extrahiert die Rotkomponente der Farbe rgb und gibt sie zurück.
GetGValue(rgb): Extrahiert die Grünkomponente der Farbe rgb und gibt sie zurück.
GetBValue(rgb): Extrahiert die Blaukomponente der Farbe rgb und gibt sie zurück.
Die Funktion InvertColor invertiert die Farbwerte, indem sie 255 (das Maximum) von den extrahierten Farbwerten subtrahiert und dann eine neue COLORREF-Struktur erstellt, die die invertierten Farbwerte enthält.
 
Wenn Sie beispielsweise die Farbe (255, 0, 0) (reines Rot) an InvertColor übergeben, gibt sie die Farbe (0, 255, 255) (Cyan) zurück, da Rot zu Cyan invertiert wird. Dieser Code ist hilfreich, wenn Sie Farben invertieren möchten, z.B., um den Negativ-Effekt auf Bilder anzuwenden.
 
 
 
 

(Bild-1) Farbe umkehren RGB COLORREF Invert Color!
Farbe umkehren RGB COLORREF Invert Color!

-
▲ Zum Anfang ▲




FAQ 25: Aktualisiert am: 1 November 2023 12:19 Windows
Windows-CPP-und-C

Unterschied _ttof, atof, _atof_l, _wtof, _wtof_l in C++ und C?


Der Unterschied _ttof, atof, _atof_l, _wtof, _wtof_l in C++ und C ist, dass diese verschiedene Eingaben haben, aber die Ausgabe immer eine Gleitkommazahl
Windows-CPP-und-C

MS Visual Studio Registerkarten deaktivieren / aktivieren!


Es ist einfach im MS Visual Studio Registerkarten zu deaktivieren oder wieder zu aktivieren Gerade im MS Visual Studio 2008 kommt es durch die Tabs / Registerkarten
Windows-CPP-und-C

BSCMAKE: error BK1506 : Datei ... kann nicht geöffnet werden: No such file or directory!


Die Fehlermeldung BSCMAKE: error BK1506 : Datei kann nicht geöffnet werden: No such file or directory Inhalt: 1. Die Fehlermeldung BSCMAKE 2.
Windows-CPP-und-C

Unterschied Skript und Programm?


Der Hauptunterschied liegt darin, dass ein Skript interpretiert wird , während ein Programm ausgeführt wird  Inhalt: 1. Skript vs. Programm 2.
Windows-CPP-und-C

Was ist Visual Studio Express?


Visual Studio Express ist eine kostenlose Entwicklungsumgebung von Microsoft, mit der kann C++ Anwendungen entwickeln kann Inhalt: 1. Visual Studio
Windows-CPP-und-C

Unterschied zwischen time(0) und clock() in CPP und C?


Der wesentliche Unterschied zwischen time und clock in CPP und C ist das was gezählt wird Bei time sind es Sekunden ab 1.1.1970 und bei clock Millisekunden
Windows-CPP-und-C

3D C++ C Schatten in OpenGL und DirectX!


Eine der aufwendigsten Aufgaben bei 3D Programierung in C++ C sind Schatten in OpenGL und DirectX Schatten Shadow werden oft bei der Entwicklung mit Schattierung

»»

  Meine Frage ist leider nicht dabei
Gestellte Fragen zu dieser Antwort:
  1. Bei Angabe einer expliziten RGB-Farbe hat der COLORREF-Wert die folgende hexadezimale Form: 0x00bbggrr Das Byte niedriger Ordnung enthält einen Wert für die relative Intensität von Rot. Das zweite Byte enthält einen Wert für Grün. und das dritte Byte enthält einen Wert für Blau. Das Byte höherer Ordnung muss Null sein. Der Maximalwert für ein einzelnes Byte ist 0xFF. Verwenden Sie das RGB-Makro, um einen COLORREF-Farbwert zu erstellen. Verwenden Sie die Makros GetRValue, GetGValue und GetBValue, um die einzelnen Werte für die roten, grünen und blauen Komponenten eines Farbwerts zu extrahieren. Ich wieder. Ich kann mir viele Möglichkeiten vorstellen, diese Daten zu manipulieren, um eine einzige Farbe des Ganzen zu invertieren. Am schnellsten wäre die Bitmanipulation mit Masken usw.?
  2. Wie kann ich ein einzelnes Pixel invertieren? Gibt es eine Gerätekontextfunktion oder muss ich die Pixelfarbe abrufen, invertieren und dann das Pixel erneut einstellen?
  3. Am einfachsten wäre es, die Pixelinformationen abzurufen und dann zu invertieren. Dazu würden Sie GetPixel und SetPixel verwenden. Sie können auch GetDIBBits verwenden, um einen Puffer mit den Bitmap-Pixelinformationen abzurufen, alles zu ändern, was Sie möchten, und dann SetDIBBits verwenden, um die Informationen auf die Bitmap zurückzusetzen.?
  4. In Ordnung. Da ich jedes Mal ein einzelnes Pixel und keine Bitmap habe, verwende ich GetPixel und SetPixel. Jetzt gibt GetPixel einen COLORREF-Wert zurück und SetPixel nimmt einen an. Wie invertiere ich einen COLORREF-Wert? Bitoperation (~)? Ich weiß nicht, ob das funktioniert, da nicht alle Bits des COLORREF zum Speichern eines RGB-Werts verwendet werden.?
  5. Ich weiß, dass dies eine Farbe nicht direkt invertiert, sondern nur "entgegensetzt". Ich habe mich gefragt, ob jemand eine einfache Möglichkeit (ein paar Codezeilen) kennt, eine Farbe von einer bestimmten Farbe umzukehren. Im Moment habe ich dies (was nicht genau die Definition eines Inverters ist, denn wenn ich ihm eine grau / graue Farbe übergebe, wird etwas sehr Ähnliches zurückgegeben?
  6. So konvertieren Sie COLORREF in Hex-CString und zurück in COLORREF C ++ Visual?
Keywords: windows, farbe, umkehren, colorref, invertcolor, lcolor, einfach, umzukehren, werten, funktion, color, kommentare, erklären, makros, getrvalue, Fragen, Antworten, Software




  

  + Freeware
  + Ordnung am PC
  + Dateiverwaltung
  + Automatisierung
  + Office Tools
  + PC-Test-Tools
  + Deko und Spaß
  + Desktop-Uhren
  + Security

  + SoftwareOK Pages
  + Micro Staff
  + Freeware-1
  + Freeware-2
  + Freeware-3
  + FAQ
  + Downloads

  + Top
  + Desktop-OK
  + The Quad Explorer
  + Don't Sleep
  + Win-Scan-2-PDF
  + Quick-Text-Past
  + Print Folder Tree
  + Find Same Images
  + Experience-Index-OK
  + Font-View-OK


  + Freeware
  + Film.Strip.Explorer
  + ColorConsole
  + LauschAngriff
  + DesktopClock3D
  + DesktopImages3D
  + TheAeroClock
  + Bitte.Wenden
  + PointerStick
  + DesktopSnowOK
  + PAD-s


Home | Danke | Kontakt | Link | FAQ | Settings | Windows 2015 | eBlog | English-AV | Impressum | Translate | PayPal | PAD-s

 © 2025 by Nenad Hrg softwareok.de • softwareok.de • softwareok.com • softwareok.eu


► Vorschau im Film-Streifen Modus und Datei Details! ◄
► Frei wählbare Farben, Rahmen und Hintergrund verstehen und verwenden! ◄
► Voller Unicode Zeichensatz im Quad-Explorer für MS Windows 11, 10, ... OS! ◄
► Ordnerinhalt wird verzögert angezeigt? ◄


Diese Webseite speichert keine personenbezogenen Daten. Allerdings werden Drittanbieter verwendet, um Werbung zu schalten.
Diese wird von Google verwaltet und entspricht dem IAB Transparency and Consent Framework (IAB-TCF).
Die CMP-ID lautet 300 und kann am Seitenende individuell angepasst werden.
mehr Infos & Datenschutz

....