Forum: Multimedia
Delphi
by Satty67,
5. Apr 2009
Ja, ist verständlich. Basiswissen zu den anderen Dialekten besteht und bei C# darf man sich ja über die bekannte Klassenhierarchie freuen.
Das Ergenbis ist nochmal besser als meine Version (ohne Vertikal, etwas Arbeit soll Pfoto ja auch noch haben) ;):
procedure FillGradient(Canvas: TCanvas; FromClr, ToClr: TColor; aRect: TRect; Potenz : Double);
function MixColors(FromColor, ToColor:...
Forum: Multimedia
Delphi
by Satty67,
4. Apr 2009
Denke der Code von C# ist einfach nach Delphi portierbar. Auch der Formel-Ansatz von Medium ist dank der besseren Range-Kontrolle ein guter Weg.
Bin heute Abend grillen (danach sicher zu faul), aber werde das ganze später mal in Delphi 5 kompatiblen Code umschreiben ;)
Forum: Multimedia
Delphi
by Satty67,
4. Apr 2009
Kriegt ich Delphi 5 nicht beigebracht (ist das C# oder Delphi-Prism?)
***
Zu meinem zweiten Ansatz noch kurz die Idee dahinter:
Ich gehe einfach davon aus, das irgendwo der Farbverlauf die Mitte hat (Anteil beider Farben gleich) und verschiebe danach nur die Mitte und berechne Teilfarbverläufe zu neuen Mitte
Forum: Multimedia
Delphi
by Satty67,
4. Apr 2009
Ok, dann hatte ich das falsch verstanden. (aber macht nicht, das experimentieren mit Farben macht mit am meisten Spass)
Hier dann mal ein anderer Ansatz (im Anhang das Projekt zum Testen)
function GetColorBetween(FromColor, ToColor: TColor; Distributor : Byte;
LoRange, HiRange, Position : Integer): TColor;
type
TRGB = packed record
R,G,B,P : Byte;
end;...
Forum: Multimedia
Delphi
by Satty67,
4. Apr 2009
Es wird übrigens nur die Farbe verändert, nicht die Helligkeit. Deshalb ist zum Testen Black -> White ganz schlecht, denn die Grausstufen ändern sich bei reiner Farb-Änderung nicht.
In der Anlage das Project, mit dem ich experimentiert hab'
Forum: Multimedia
Delphi
by Satty67,
4. Apr 2009
Ich glaub' ich bin ganz nah dran, wenn ich die Aufgabe richtig verstanden hatte:
function GetColorBetween(FromColor, ToColor: TColor; FromDomPercent : Byte;
LoRange, HiRange, Position : Integer): TColor;
type
TRGB = packed record
R,G,B,P : Byte;
end;
const
Gewichtung = 200;