Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   RGB <--> HLS <--> HSV (https://www.delphipraxis.net/45221-rgb-hls-hsv.html)

cs_um 2. Mai 2005 11:58


RGB <--> HLS <--> HSV
 
Ich bin noch Anfänger und weiß gar nicht so recht, wie ich bei meinem Programm anfangen soll.

Es soll ein Feld zu sehen sein, dass mit einer Farbe gefüllt wird.
Daneben sollen Scrollbars sein, mit denen die jeweiligen Farbwerte eingegeben werden können.
Wenn nun in ein Farbwertsystem ein Wert eingeben wird (nicht als Zahl, sondern mit einem Schieberegler), dann sollen sich auch die Schieberegler der anderen Farbwertsysteme ändern und natürlich auch die angezeigte Farbe.

Soweit verständlich?

Ich steh irgendwie total aufm Schlauch.

Schonmal: Danke. :)

P.S.: Muss das ganze mit "Borland Delphi 5" zusammenbasteln...

Steve 2. Mai 2005 12:16

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

fürs erste mal bloß ein paar Suchbegriffe: Hier im Forum suchenRGB HSV bzw. RGB HSVRGB HSV, Delphi-Referenz durchsuchenTScrollBar.OnChange, Delphi-Referenz durchsuchenTScrollBar.Position, Delphi-Referenz durchsuchenRGB()
Damit dürfte schon einiges zu machen sein :) Sag bescheid, wenn ein konkretes Problem auftaucht :stupid:

edit: Statt TScrollBar eignet sich evtl. eine TTrackBar besser :stupid:

Gruß
Stephan :dance:

Robert Marquardt 2. Mai 2005 13:09

Re: RGB <--> HLS <--> HSV
 
Vielleicht ein bischen overpowered, aber die JVCL enthaelt TJvFullColor Dialoge.
Die koennen Farbraeume handhaben.

Speedmaster 2. Mai 2005 13:32

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

Zitat von Robert Marquardt
Vielleicht ein bischen overpowered, aber die JVCL enthaelt TJvFullColor Dialoge.
Die koennen Farbraeume handhaben.

Obwohl das nicht zum Thema gehört möchte ich abraten die JVCL zu benutzen, ich finde es besser besonderst bei Anfängern wenn sie sich selber mit der Delphi Materie beschäftigen!

Kroko1999 2. Mai 2005 14:03

Re: RGB <--> HLS <--> HSV
 
ich haue mal noch die Unit GraphUtil rein, da sind schon ein paar Proc/Func zum Umrechnen der Farbe!

cs_um 20. Jun 2005 12:46

Re: RGB <--> HLS <--> HSV
 
Liste der Anhänge anzeigen (Anzahl: 1)
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:

cs_um 20. Jun 2005 15:39

Re: RGB <--> HLS <--> HSV
 
mal gleich noch ne frage hinterher:

hilft es, die variablen (also die position der scrollbars) global zu definieren und wo geht das?

TeronG 20. Jun 2005 15:52

Re: RGB <--> HLS <--> HSV
 
z.B.
Delphi-Quellcode:
var
  Form1        : TForm1;
  GlobalVar1   : Integer;
  GloballArray : array[1..3] of Integer
Edit: evtl währe ja ein kleiner Hier im Forum suchenCrashkurs praktisch ... ^^

cs_um 28. Jun 2005 15:49

Re: RGB <--> HLS <--> HSV
 
soweit steht mein programm, also schonmal danke, an alle die bis jetzt geholfen haben. aber ich hab noch ein problem:

ich finde irgendwie keine formel, mit der man RGB in HLS umrechnen kann. hat jemand vielleicht so eine irgendwo rumliegen? idealerweise schon als algorithmus. :)

danke :)

Manne 28. Jun 2005 15:54

Re: RGB <--> HLS <--> HSV
 
Liste der Anhänge anzeigen (Anzahl: 1)
Servus,
anbei eine Unit für HLStoRGB und umgekehrt


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.
Seite 1 von 2  1 2      

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