AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Wie schwarze Buchstaben auf bunten Hintergrund schreiben?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie schwarze Buchstaben auf bunten Hintergrund schreiben?

Ein Thema von Der_Ventilator · begonnen am 25. Dez 2005 · letzter Beitrag vom 25. Dez 2005
Antwort Antwort
Der_Ventilator

Registriert seit: 11. Apr 2004
Ort: Kanada
136 Beiträge
 
Delphi 2010 Professional
 
#1

Wie schwarze Buchstaben auf bunten Hintergrund schreiben?

  Alt 25. Dez 2005, 18:46
Hi,
ich habe ein canvas, auf das ich einen Gradienten gezeichnet habe (einen Verlauf von gelb nach grün):

Delphi-Quellcode:
procedure DrawGradient(const Canvas: TCanvas; Color1, Color2: TColor; Rect: TRect);
var
  Y, R, G, B: Integer;
  RColor1, GColor1, BColor1: Integer;
  RColor2, GColor2, BColor2: Integer;
begin
  Color1:=ColorToRGB(Color1);
  Color2:=ColorToRGB(Color2);

  RColor1:=GetRValue(Color1);
  GColor1:=GetGValue(Color1);
  BColor1:=GetBValue(Color1);

  RColor2:=GetRValue(Color2);
  GColor2:=GetGValue(Color2);
  BColor2:=GetBValue(Color2);

  Canvas.Pen.Width:=1;
  Canvas.Pen.Style:=psInsideFrame;

  for Y:=Rect.Top to Rect.Bottom-1 do
  begin
    R:=Round(RColor1 + ((RColor2 - RColor1) * Y / (Rect.Bottom - Rect.Top)));
    G:=Round(GColor1 + ((GColor2 - GColor1) * Y / (Rect.Bottom - Rect.Top)));
    B:=Round(BColor1 + ((BColor2 - BColor1) * Y / (Rect.Bottom - Rect.Top)));

    Canvas.Brush.Color:=RGB(R, G, B);
    Canvas.FillRect(Classes.Rect(Rect.Left, Y, Rect.Right, Y+1));
  end;
end;

Nun will ich drauf einen Text schreiben, aber ohne das die schwarzen Buchstaben mit einer hässlichen einheitlichen Farbe hinterlegt sind (Brush.Color eben), sondern, dass diese Farbe durchsichtig ist.
Ich denke, das geht mit igendwelchen Pen.Mode Einstellungen, aber ich weiß nicht, welchen.

Oder muss ich erst Schreiben und dann den Verlauf drüberzeichenen; aber so, dass er schwarz durchscheinen lässt?
Aber wie geht das?
Codito, ergo sum. - I code therefore I am
  Mit Zitat antworten Zitat
DBR

Registriert seit: 19. Jul 2005
43 Beiträge
 
#2

Re: Wie schwarze Buchstaben auf bunten Hintergrund schreiben

  Alt 25. Dez 2005, 19:00
canvas.brush.style:=bsClear; gruß DBR
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:30 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