Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#1

komplementäre Farbe finden

  Alt 17. Apr 2008, 17:30
Hallo,

ich setze in einem Grid ein paar Farben (Brush.Color).

Damit der Text lesbar ist, will ich den
Text in der komplementäre Farbe schreiben.

unter http://dotnetpulse.blogspot.com/2007...ite-color.html
habe ich das hier gefunden.

public static Color CalculateOppositeColor(Color clr)
{
return Color.FromArgb(255 - clr.R, 255 - clr.G, 255 - clr.B);
}

In Delphi umgesetzt:

Delphi-Quellcode:
function RGB2TColor(const R, G, B: Byte): Integer;
begin
  // convert hexa-decimal values to RGB
  Result := R + G shl 8 + B shl 16;
end;

procedure TColor2RGB(const Color: TColor; var R, G, B: Byte);
begin
  // convert hexa-decimal values to RGB
  R := Color and $FF;
  G := (Color shr 8) and $FF;
  B := (Color shr 16) and $FF;
end;

function GetOppositeColor(theColor: TColor): TColor;
var
  R, G, B: Byte;
begin
  TColor2RGB(theColor, R, G, B);
  R:= 255-R;
  G:= 255-G;
  B:= 255-B;
  Result:= RGB2TColor(R,G,B);
end; { TResourcePlanClass_Int__ProjectViewEx.GetOppositeColor }
Bei gelbem Hintergrund (clYellow) gibt das jetzt weiss.
Das ist aber nicht dass, was ich erwartet hatte.

Wo steckt der Fehler ?


Danke
Heiko
Heiko
  Mit Zitat antworten Zitat