Sehen Sie sich dieses Beispiel-Farbverlaufsbild an, das ich mit einem Paint-Programm gemacht habe:
Es enthält 2 vertikale Gradienten.
Der erste Farbverlauf von oben nach unten ist eine Mischung aus Weiß und einem leicht gefärbten Orange.
Der zweite Farbverlauf von unten nach oben ist ebenfalls eine Mischung aus weißem, aber etwas dunklerem Orange.
Der Punkt ist, dass 2 Farbverläufe verwendet wurden, mit 4 Farben, 2 weißen und 2 orangefarbenen Variationen.
Ich möchte das auf einer Leinwand machen, weiß aber nicht wie. Die Farben könnten alles sein, oben war nur ein Beispiel.
Wie kann ich das tun?
Verwenden Sie GradientFillCanvas aus der GraphUtil -Einheit:
%Vor% Verwenden Sie GradientFill
von Msimg32. dll . Fügen Sie einer globalen Diensteinheit den folgenden Code hinzu:
Jetzt wird der Malcode:
%Vor%
Ich habe es mit einem normalen TCanvas programmiert.
Der Code zeichnet einen Farbverlauf auf dieser Leinwand, indem er die Farben stetig erhöht. Sie können dies beispielsweise anpassen, indem Sie der Start- oder Endfarbe Gewichte hinzufügen (z. B. um den Weißanteil zu erhöhen).
%Vor%Nennen Sie es so:
%Vor%Das Ergebnis sieht folgendermaßen aus:
Ich verwende gerne Klassenhelfer auf TCanvas, also habe ich den Code in der anderen Antwort überarbeitet.
%Vor%So sieht der eigentliche Anruf so aus
%Vor%Beispiel:
Tags und Links delphi