Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Wie findet man eine Farbe in einer FarbMatrix? (https://www.delphipraxis.net/162126-wie-findet-man-eine-farbe-einer-farbmatrix.html)

Memnarch 8. Aug 2011 10:01

Wie findet man eine Farbe in einer FarbMatrix?
 
Hallo allerseits.
Bei Delphi und in Windows gibt es ja diesen colordialog. Unter erweitert hat man dort eine Farbmatrix und einen LuminanzSlider über die man die farben einstellen kann. Natürlich kann man auch über die eingabeboxen die farbwerte direkt eingeben. Dabei rechnet der colordialog automatisch die position in der Farbmatrix und im Luminanzslider aus...wie funktioniert das?

MFG
Memnarch

Neutral General 8. Aug 2011 10:29

AW: Wie findet man eine Farbe in einer FarbMatrix?
 
Naja, derjenige der den Algorithmus für diese Farbmatrix hat, kann auch ohne Probleme die Position einer Farbe innerhalb der Matrix herausfinden oder nicht?

Memnarch 8. Aug 2011 10:38

AW: Wie findet man eine Farbe in einer FarbMatrix?
 
Nunja...und wie bekomm ich den luminanzwert raus? Es geht mir um diese kombination von luminanzwert und FarbMatrix.
Die farmatrix geht bei mittlerem luminanzwert bis maximal 127,127,127 soweit hab ich das raus.

Meine Farbmatrix wird allerdings in 6 teilstücken generiert.

Rot->Gelb
Gelb->Grün
Grün->BlauGrun
BlauGrün->Blau
Blau->Lila
Lila->Rot

Das erreiche ich durch lineare interpolation. Mal gucken hab gerade ne idee vllt klappt die.

Memnarch 8. Aug 2011 12:38

AW: Wie findet man eine Farbe in einer FarbMatrix?
 
Jo o gehts:
Nicht in RGB sondern in HLS rechnen. Es gibt umrechnungsfunktionen in der GraphUtil zum umrechnen von HLS<->RGB

Hue geht von 0-240
Saturation 0 -240
Luminance 0 - 240

Hue und Saturation stellen die x/y koordinaten dar. So ist dan auch alles einfach vor und zurück zurechnen^^(ist die matrix größer als 240 pixel muss man natürlich noch den factor mit einrechnen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz