AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Animierter Farbverlauf

Animierter Farbverlauf

Ein Thema von Larsi · begonnen am 17. Dez 2008 · letzter Beitrag vom 20. Dez 2008
Antwort Antwort
Seite 2 von 4     12 34   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Animierter Farbverlauf

  Alt 17. Dez 2008, 15:30
Nochmal, ich denke er möchte so etwas wie im Anhang (schnell dahergetippt und keineswegs ausgereift).
Angehängte Dateien
Dateityp: exe project1_524.exe (293,0 KB, 59x aufgerufen)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Animierter Farbverlauf

  Alt 17. Dez 2008, 15:36
ich dachte eher er will ein Bild von einem Verlauf (von Farbe1 zu Farbe2) und dann soll sich langsam Farbe1 und/oder Farbe2 zu einer anderen Farbe hinn ändern
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Animierter Farbverlauf

  Alt 17. Dez 2008, 18:20
@Deddyh: Kann ich den Code davon haben?
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Animierter Farbverlauf

  Alt 17. Dez 2008, 18:25
Den kompletten nicht, da er einfach nur Sch...e ist, aber die Basis (die originale unmodifizierte Gradient-Prozedur) kann ich gerne mal posten:
Delphi-Quellcode:
type TDirection = (dVert,dHorz);

procedure DrawGradientFillRect(Canvas: TCanvas; Rect: TRect;
                StartColor, EndColor: TColor; Direction: TDirection);
var
  Steps: Integer;
  StartR, StartG, StartB, EndR, EndG, EndB: Byte;
  CrrR, CrrG, CrrB: Double;
  IncR, IncG, incB: Double;
  i: integer;
begin
  case Direction of
    dVert: Steps := Rect.Bottom - Rect.Top;
    dHorz: Steps := Rect.Right - Rect.Left;
    else
      Steps := 0;
  end;

  if Steps = 0 then Exit;
  
  StartR := GetRValue(StartColor); EndR := GetRValue(EndColor);
  StartG := GetGValue(StartColor); EndG := GetGValue(EndColor);
  StartB := GetBValue(StartColor); EndB := GetBValue(EndColor);

  IncR := (EndR - StartR) / steps;
  IncG := (EndG - StartG) / steps;
  IncB := (EndB - StartB) / steps;

  CrrR := StartR;
  CrrG := StartG;
  CrrB := StartB;

  for i := 0 to Steps do
    begin
      Canvas.Pen.Color := RGB(Round(CrrR), Round(CrrG), Round(CrrB));
      case Direction of
        dVert: begin
                 MoveToEx(Canvas.Handle,Rect.Left,i,nil);
                 LineTo(Canvas.Handle,Rect.Right + Rect.Left, i);
               end;
        dHorz: begin
                 MoveToEx(Canvas.Handle,i,Rect.Top,nil);
                 LineTo(Canvas.Handle,i,Rect.Top + Rect.Bottom);
               end;
      end;
      CrrR := CrrR + IncR;
      CrrG := CrrG + IncG;
      CrrB := CrrB + IncB;
    end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#15

Re: Animierter Farbverlauf

  Alt 17. Dez 2008, 18:32
Die hilft mir aber nicht weiter. Ich benutze die TJvGradient Komponente von den Jedis, die funkioniert auch super. Mir geht es um den Teil des Codes der die Farbe verändert.
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Animierter Farbverlauf

  Alt 17. Dez 2008, 18:38
Guck Dir den geposteten Code nochmal in Ruhe an, da werden auch Farben verändert.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Animierter Farbverlauf

  Alt 17. Dez 2008, 18:45
Ich brauch aber eine Funktion, die sich um das ändern der Farbe wie in deinem Beispiel ändert. Deine Funktion erstellt ja einen Farbverlauf. Den brauch ich ja nicht, das macht die JvGradient Komponente. Da muss ich der StartColor nur einen TColor Wert übergeben mehr nicht.
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: Animierter Farbverlauf

  Alt 17. Dez 2008, 18:51
Herrgott, Larsi, ich habe doch hier bereits beschrieben, was zu tun ist, das hab ich in dem Beispiel nur umgesetzt. Wie willst Du etwas lernen, wenn man Dir alles vorkauen soll?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#19

Re: Animierter Farbverlauf

  Alt 17. Dez 2008, 18:56
Dann geht nur mit einem vordefinierten Array wie willst sonst
bestimmen welche Farben angezeigt werden sollen und welche nicht ?

Du erstellst ein Array mit Farben und übergibst immer Stepweise die nächste Farbe aus diesen.
Anfangsfarbe wäre dann die welche du deiner komponente übergibst.

Beispiel von SoundMachine

Delphi-Quellcode:
procedure ColorInit;
begin
    gColor[1] := RGB(32,32,32);
    gColor[2] := RGB(0,44,233);
    gColor[3] := RGB(0,67,210);
    gColor[4] := RGB(0,89,187);
    gColor[5] := RGB(0,112,164);
    gColor[6] := RGB(0,135,142);
    gColor[7] := RGB(0,159,117);
    gColor[8] := RGB(0,183,88);
    gColor[9] := RGB(0,207,58);
    gColor[10] := RGB(0,231,29);
    gColor[11] := RGB(26,234,26);
    gColor[12] := RGB(52,237,23);
    gColor[13] := RGB(79,240,20);
    gColor[14] := RGB(105,243,17);
    gColor[15] := RGB(126,245,14);
    gColor[16] := RGB(147,248,11);
    gColor[17] := RGB(168,250,8);
    gColor[18] := RGB(189,253,5);
    gColor[19] := RGB(210,255,2);
    gColor[20] := RGB(233,255,0);
    gColor[21] := RGB(255,255,0);
    gColor[22] := RGB(255,251,0);
    gColor[23] := RGB(255,235,0);
    gColor[24] := RGB(255,215,0);
    gColor[25] := RGB(255,196,0);
    gColor[26] := RGB(255,176,0);
    gColor[27] := RGB(255,156,0);
    gColor[28] := RGB(253,137,0);
    gColor[29] := RGB(255,117,0);
    gColor[30] := RGB(255,97,0);
    gColor[31] := RGB(255,78,0);
    gColor[32] := RGB(255,58,0);
    gColor[33] := RGB(255,0,0);
end;
gruss Emil
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#20

Re: Animierter Farbverlauf

  Alt 18. Dez 2008, 13:14
Wie muss ich die Prozedur aufrufen?
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:56 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