AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi RGB-Gegenteil-Farbe ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

RGB-Gegenteil-Farbe ermitteln

Ein Thema von KodeZwerg · begonnen am 17. Jul 2018 · letzter Beitrag vom 19. Jul 2018
 
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

RGB-Gegenteil-Farbe ermitteln

  Alt 17. Jul 2018, 23:40
Hallo, gibt es eine Möglichkeit einen Farbwert ins Gegenteil zu verwandeln?
Beispiel: aus Input Farbe Schwarz wird Output Farbe weiß.

Zur Zeit nutze ich das hier: (nicht von mir, aus CodeLib)
Delphi-Quellcode:
procedure EdBackColor(FontC: TColor; var EditableColor,
  ReadOnlyColor: TColor);
  // Calculate the luminance of the color using the simplified formula
  // luminance = 0.25*red + 0.625*green + 0.125*blue
  // If greater than 0.5, use a dark background
var
  R, G, B: Integer;
begin
  R := GetRValue(FontC) * 2;
  G := GetGValue(FontC) * 5;
  B := GetBValue(FontC);
  if R + G + B then
  begin
    EditableColor := clWhite;
    ReadOnlyColor := clSilver;
  end
  else
  begin
    EditableColor := clBlack;
    ReadOnlyColor := clDkGray;
  end;
end;
Aber das ermittelt nur ob Input zu Hell oder Dunkel gehört, ich würde das gerne etwas professioneller haben wollen so das nur ein Wert dabei ausgespuckt wird aber habe keine Ahnung wie.
Mein Erster Gedanke wäre die R G B values einfach umdrehen, ist das der Richtige Weg?
Beispiel:
Delphi-Quellcode:
function InvertColor(Input: TColor): TColor;
var
  R, G, B: Byte;
begin
  R := 255 - GetRValue(Input);
  G := 255 - GetGValue(Input);
  B := 255 - GetBValue(Input);
  Result := RGB(R, G, B);
end;
Gruß vom KodeZwerg

Geändert von KodeZwerg (17. Jul 2018 um 23:42 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz