Einzelnen Beitrag anzeigen

cs_um

Registriert seit: 2. Mai 2005
7 Beiträge
 
#6

Re: RGB <--> HLS <--> HSV

  Alt 20. Jun 2005, 12:46
ich habe jetzt ein wenig gebastelt und folgendes erstellt:

Delphi-Quellcode:
//SCROLLBALKEN ROT

procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
begin
  label1.caption:=inttostr(scrollbar1.Position ); //Position ausgeben (Zahl)
  Farbfeld.Brush.Color:=StrToInt('$'+((inttohex(scrollbar3.Position,2)+ //Blau-Anteil
                                    inttohex(scrollbar2.Position,2)+ //Grün-Anteil
                                    inttohex(scrollbar1.Position,2)))); // Rot-Anteil
end;



//SCROLLBALKEN GRÜN

procedure TForm1.ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
begin
  label2.caption:=inttostr(scrollbar2.Position ); //Position ausgeben (Zahl)
  Farbfeld.Brush.Color:=StrToInt('$'+((inttohex(scrollbar3.Position,2)+ //Blau-Anteil
                                    inttohex(scrollbar2.Position,2)+ //Grün-Anteil
                                    inttohex(scrollbar1.Position,2)))); // Rot-Anteil
end;

//SCROLLBALKEN BLAU

procedure TForm1.ScrollBar3Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
begin
  label3.caption:=inttostr(scrollbar3.Position ); //Position ausgeben (Zahl)
  Farbfeld.Brush.Color:=StrToInt('$'+((inttohex(scrollbar3.Position,2)+ //Blau-Anteil
                                    inttohex(scrollbar2.Position,2)+ //Grün-Anteil
                                    inttohex(scrollbar1.Position,2)))); // Rot-Anteil
end;
damit zeigt mir mein programm erstmal die farben an (in einem tform-feld).
kann man die drei prozeduren irgendwie zusammen fassen?
weil nun muss es ja mit der umrechnung weiter gehen. und da isses bissl umständlich jedesmal in ne einzelne prozedur zu rennen, oder?

wie kann ich es jetzt machen, dass ich die werte der einzelnen farbanteile auslesen kann und dann daraus die hsv- bzw. hls-farbanteile auslesen kann, damit dann weiterrechnen und sie wieder im farbfeld ausgeben kann. dabei müssten sich dann die jeweiligen scrollbalken und auch labels mit-ändern. war die fragestellung jetzt logisch?

so sieht das prgramm übrigens bis jetzt aus:
Miniaturansicht angehängter Grafiken
rgb-hsv-hls_119.jpg  
  Mit Zitat antworten Zitat