AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Hilfe bei Farbverlauf procedure
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe bei Farbverlauf procedure

Ein Thema von Blamaster · begonnen am 15. Aug 2009 · letzter Beitrag vom 1. Apr 2011
Antwort Antwort
Seite 3 von 3     123   
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#21

AW: Hilfe bei Farbverlauf procedure

  Alt 1. Apr 2011, 10:40
function ColorBetween(C1, C2 : TColor; blend:Real):TColor; da muß ich mind, 2 werte eingeben. bei dem Ausgang steht allerdings nur ein Wert zur verfühgung.
Dann schau nochmal genauer hin; die überladene Funktion gibt es in einer Variante, die beliebig viele Farben entgegen nimmt.
Wenn du 5 Farben übergibst, dann bekommst du den Verlauf in sagen wir mal 101 Schritten so:
Delphi-Quellcode:
for i:=0 to 100 do
begin
  blend := i * 0.01; // blend bewegt sich zwischen 0.0 bis 1.0 !!
  farbe := ColorsBetween([clBlack, clRed, clYellow, clWhite, clGreen], blend);
  // hier mit farbe etwas tun....
end;
Anstelle von clBlack, clRed,... übergibst du natürlich deine eigenen 5 Farben.
Andreas
  Mit Zitat antworten Zitat
Maik81ftl

Registriert seit: 31. Mär 2011
Ort: Wahlstedt
26 Beiträge
 
FreePascal / Lazarus
 
#22

AW: Hilfe bei Farbverlauf procedure

  Alt 1. Apr 2011, 11:20
Delphi-Quellcode:
function Farbverlauf(bValue: Boolean; cValue: TColor):TProgSet;
Var H, S: Byte;
    L: Array[0..4] of Byte;
    Col: TProgSet;
begin
  if bValue then
    begin
    ColorToHLS(cValue, H, L[2], S);
    Col.Menst[4]:= HLStoColor(H, L[2]-38-38, S);
    Col.Menst[3]:= HLStoColor(H, L[2] -38, S);
    Col.Menst[2]:= cValue;
    Col.Menst[1]:= HLStoColor(H, L[2] +38, S);
    Col.Menst[0]:= HLStoColor(H, L[2]+38+38, S);
    Col.Periode:= Form3.Progset.Periode;
    end;
  if not bValue then
    begin
    ColorToHLS(cValue, H, L[2], S);
    Col.Periode[4]:= HLStoColor(H, L[2]-38-38, S);
    Col.Periode[3]:= HLStoColor(H, L[2] -38, S);
    Col.Periode[2]:= cValue;
    Col.Periode[1]:= HLStoColor(H, L[2] +38, S);
    Col.Periode[0]:= HLStoColor(H, L[2]+38+38, S);
    Col.Menst:= Form3.Progset.Menst;
    end;
  Result:= Col;
end;
Was haltet Ihr denne von der Variante???
Die Definition eine Bibliothek ist bei mir eine *.so

Geändert von Maik81ftl ( 1. Apr 2011 um 11:30 Uhr) Grund: Vervollständigung der Function
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#23

AW: Hilfe bei Farbverlauf procedure

  Alt 1. Apr 2011, 15:12
Also irgendwie ist für dich ein Farbverlauf etwas anderes als für mich.
Meine Definition von Farbverlauf:
Ein Farbverlauf ermöglicht stufenloses Überblenden von 2 Farben.
Der Überblendungsfaktor bewegt sich dabei zwischen 0.0 (=0%) bis 1.0 (=100%).
Einen Farbverlauf zwischen mehreren Farben erreicht man dadurch, dass man hintereinander mehrere Farben überblendet.
Für dein Vorhaben brauchst du eigentlich nur 2 Randfarben:
2 stufen dunkler und 2 stufen heller als die Grundfarbe.
Genau in der Mitte also bei 50% liegt dann deine Grundfarbe im Verlauf.

Kleines Demo im Anhang.
Angehängte Dateien
Dateityp: zip PaintboxDemo2.zip (163,7 KB, 23x aufgerufen)
Andreas
  Mit Zitat antworten Zitat
Maik81ftl

Registriert seit: 31. Mär 2011
Ort: Wahlstedt
26 Beiträge
 
FreePascal / Lazarus
 
#24

AW: Hilfe bei Farbverlauf procedure

  Alt 1. Apr 2011, 16:10
Also irgendwie ist für dich ein Farbverlauf etwas anderes als für mich.
Meine Definition von Farbverlauf:
Ein Farbverlauf ermöglicht stufenloses Überblenden von 2 Farben.
Der Überblendungsfaktor bewegt sich dabei zwischen 0.0 (=0%) bis 1.0 (=100%).
Einen Farbverlauf zwischen mehreren Farben erreicht man dadurch, dass man hintereinander mehrere Farben überblendet.
Für dein Vorhaben brauchst du eigentlich nur 2 Randfarben:
2 stufen dunkler und 2 stufen heller als die Grundfarbe.
Genau in der Mitte also bei 50% liegt dann deine Grundfarbe im Verlauf.

Kleines Demo im Anhang.
Korektur. wie du es auch dem code entnehemn kannst recht ir das mit einer Farbe aus. und ja, bei mir ist es mehr eine Farbstufung als ein verlauf.
Die Definition eine Bibliothek ist bei mir eine *.so
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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:16 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