Autor Beitrag
chris85s
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Di 30.11.10 11:51 
Hallo,

ich habe folgendes Problem:

In meinem Programm soll der Anwender aus dem colordialog eine Farbe auswählen.
Diese ausgewählte Farbe möchte ich anschließend in einem String speichern.

Daraus folgt schon mal das die ausgewählte Farbe eine Farbe mit einem Namen sein muss.
(Also z.b. Color = "Red" und nicht Color = (255, 0, 125)
Falls nämlich nur die RGB Werte vorhanden sind, kann ich die Farbe nicht in einen String speichern.

Somit müsste ich im colordialog für den Anwender nur Farben zur Auswahl stellen, welche auch einen Namen haben.
Ich hab bereits viel gegooglet aber nichts gefunden.
Hat jemand ne Idee wie ich das umsetzen könnte?

mfg
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19313
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 30.11.10 12:14 
user profile iconchris85s hat folgendes geschrieben Zum zitierten Posting springen:
Falls nämlich nur die RGB Werte vorhanden sind, kann ich die Farbe nicht in einen String speichern.
Gibt es dafür einen Grund, warum du das nicht machen kannst? :gruebel:
chris85s Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Di 30.11.10 12:17 
Naja wenn die Farbe keinen Namen (wie Red) hat sondern "nur" die RGB Werte, dann kann man natürlich auch keinen Farbnamen in einen String speichern, da es ja keinen Farbnamen gibt.

Daher sollen im colordialog nur diejenigen Farben angezeigt werden, welche eben einen Farbnamen haben.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19313
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 30.11.10 12:18 
Keinen Farbnamen, nein. Aber die RGB-Werte schon.
chris85s Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Di 30.11.10 12:21 
sorry ich habe keine ahnung auf was du hinaus willst.
vielleicht könntest du ein bisschen ausführlicher schreiben.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 30.11.10 14:11 
Du könntest die Farbe doch z.B. nach dem HTML-Schema speichern: #8022FE. Oder ganz einfach, indem du die drei Farbkomponenten durch Kommata trennst: 221, 42, 142. Deiner Fantasie sind dabei keine Grenzen gesetzt ...
chris85s Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Di 30.11.10 14:22 
Das bringt mir leider nichts.
Ich benötige aus anderen gründen wirklich einen Farbnamen.

Deswegen darf der Anwender wirklich nur Farben auswählen zu denen der colordialog auch einen Farbnamen hinterlegt hat.

Also muss ich dafür sorgen das man eben nur genau diese Farben aus auswählen darf.

Gibt es den überhaupt die Möglichkeit den colordialog auf bestimmte Farben einzuschränken?
Wenn ja, wie?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4796
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 30.11.10 14:35 
Der ColorDialog selber kennt auch keine Farbnamen, sondern auch nur die Farben im RGB-Format.
Daher müßtest du selber ein Control/Dialog erzeugen, z.B. mittels einer Liste aus vorgegebenen Farben (du könntest z.B. die KnownColor-Enumeration verwenden).

(wobei ich den Sinn auch nicht verstehe, warum nur Farbnamen ausgewählt werden dürfen...)
chris85s Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35



BeitragVerfasst: Do 02.12.10 16:44 
Bin leider nicht weiter gekommen seit der letzten antwort.

Bitte schreibt nicht immer das ihr den Sinn nicht versteht warum es einen Namen zu der Farbe geben muss. Es ist leider so, ich kanns nicht ändern.

Deswegen bleibt mein Problem bestehen.

Der letzte Antworter meinte, dass ich am besten einen eigenen Dialog erstellen soll.

Aber wie erstelle ich den einen eigenen ColorDialog?
Hab im I-net nicht viel darüber gefunden.

Vllt hat jemand von euch ne Idee?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19313
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 02.12.10 16:49 
Du erstellst ein neues Formular und packst da Felder mit den gewünschten Farben hinein. Entweder mit einfachen Panels oder selbst gezeichnet, je nachdem wie schön es aussehen soll.

Du kannst zum Beispiel eine externe Datei mit einer Farbliste benutzen, damit der Benutzer auch Farben ergänzen kann (für die er dann selbst Namen vergeben kann, wenn das so wichtig ist).
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4796
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 02.12.10 16:57 
Hallo Chris,

meinst du so etwas ähnliches: www.codeproject.com/.../colourpickercb.aspx ?

Du solltest sonst mal schreiben, woher die Farbnamen kommen (hast du eine feste Liste oder kann der User zu einer Farbe einen beliebigen Namen hinterlegen?).

P.S: Du weißt, daß es über 16 Mio. Farben im RGB-Format gibt? -)