Seite 1 von 1
kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 11:20
von clag
Hallo Kenner und Könner,
es wird ja gerade mal wieder (im CalcForum) mit Farben experimentiert, und ich versuch gerade einen Weg "Farben zu gruppieren",
also RGB Bereiche Rot Orange Gelb Grün usw. als variable Werte für RGB.
Da tauchen für mich jetzt Fragen auf,
1. kann man die Namen aus der Standardfarbpalette anwenden um Farben zu setzen oder zu prüfen?
2. kann man per Makro die FarbPalette erweitern und auch neue Namen vergeben?
3. kann man in der Farbpalette einem Namen und den zugehörigen RGB Wert abfragen?
wenn ja wie?
Re: kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 12:09
von F3K Total
Hallo Clag,
hier schreibt hanya, (Programmierer von MRI) dass man mit dem Service
direkt auf die aktuelle Farbpalette zugreifen kann.
Gruß R
Re: kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 12:24
von F3K Total
Hier ein Beispiel, wie du mit Basic auf die aktuellen Farbnamen und Farbwerte zugreifen kannst:
Code: Alles auswählen
Sub S_COLORS
oColortable = createunoService("com.sun.star.drawing.ColorTable")
xray oColortable
xray oColortable.elementNames
lColor = oColortable.getbyname("Rot")
xray lcolor
End Sub
EDIT:Code durch CreateunoService gekürzt
Gruß R
Re: kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 17:15
von clag
Hallo F3K Total,
geht ja wirklich fast alles in OO besten Dank für deine Info und Hinweise, die Liste der Farbnahmen wird schön als solche dargestellt,
aber die Farbwerte dazu muss man sich dann aber doch wieder einzeln ziehen bzw durch eine Schleife holen?
Und gibt es eine interne Möglichkeit den Farbwert gleich als RGB auszugeben, bisher habe ich das in drei Schritten zu Fuß zurückgerechnet?
Re: kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 17:32
von Karolus
Soweit mir bekannt, gibts in Basic die Runtimefunktionen `red, green, blue, rgb`
Re: kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 18:02
von clag
Hallo Karolus,
ja RGB() habe ich verinnerlicht weil setzen einer Farbe kommt ja eher mal vor
und mit RED() GREEN() BLUE() hast du völlig Recht so steht es da ganz deutlich unter runtime Funktionen,
nur habe ich es irgendwie immer überlesen, ist wie mit den Scheunentoren ....
Also besten Dank für deine Anleitung und Lesehilfe

Re: kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 18:06
von Karolus
Hallo
Code: Alles auswählen
import clipboard
colors = createUnoService('com.sun.star.drawing.ColorTable')
bbcodeliste = '\n'.join(['[color=#{1:06X}]{0}[/color]'.format(colorname,
colors.getByName( colorname))
for colorname in colors.getElementNames()])
clipboard.copy(bbcodeliste)
voila:
- Schwarz
Weiß
Grau 1
Grau 2
Grau 3
Grau 4
Grau 5
Grau 6
Grau 7
Grau 8
Grau 9
Grau 10
Gelb
Orange
Rot
Rosa
Magenta
Purpur
Blau
Himmelblau
Cyan
Türkis
Grün
Gelb-grün
Gelb 1
Orange 1
Rot 1
Rosa 1
Magenta 1
Purpur 1
Blau 1
Himmelblau 1
Cyan 1
Türkis 1
Grün 1
Gelb-grün 1
Gelb 2
Orange 2
Rot 2
Rosa 2
Magenta 2
Purpur 2
Blau 2
Himmelblau 2
Cyan 2
Türkis 2
Grün 2
Gelb-grün 2
Gelb 3
Orange 3
Rot 3
Rosa 3
Magenta 3
Purpur 3
Blau 3
Himmelblau 3
Cyan 3
Türkis 3
Grün 3
Gelb-grün 3
Gelb 4
Orange 4
Rot 4
Rosa 4
Magenta 4
Purpur 4
Blau 4
Himmelblau 4
Cyan 4
Türkis 4
Grün 4
Gelb-grün 4
Gelb 5
Orange 5
Rot 5
Rosa 5
Magenta 5
Purpur 5
Blau 5
Himmelblau 5
Cyan 5
Türkis 5
Grün 5
Gelb-grün 5
Gelb 6
Orange 6
Rot 6
Rosa 6
Magenta 6
Purpur 6
Blau 6
Himmelblau 6
Cyan 6
Türkis 6
Grün 6
Gelb-grün 6
Gelb 7
Orange 7
Rot 7
Rosa 7
Magenta 7
Purpur 7
Blau 7
Himmelblau 7
Cyan 7
Türkis 7
Grün 7
Gelb-grün 7
Gelb 8
Orange 8
Rot 8
Rosa 8
Magenta 8
Purpur 8
Blau 8
Himmelblau 8
Cyan 8
Türkis 8
Grün 8
Gelb-grün 8
Gelb 9
Orange 9
Rot 9
Rosa 9
Magenta 9
Purpur 9
Blau 9
Himmelblau 9
Cyan 9
Türkis 9
Grün 9
Gelb-grün 9
Gelb 10
Orange 10
Rot 10
Rosa 10
Magenta 10
Purpur 10
Blau 10
Himmelblau 10
Cyan 10
Türkis 10
Grün 10
Gelb-grün 10
Blaugrau
Klassisches blau
Lila
Bordeaux
Blassgelb
Blassgrün
Dunkellila
Lachs
Seeblau
Diagramm 1
Diagramm 2
Diagramm 3
Diagramm 4
Diagramm 5
Diagramm 6
Diagramm 7
Diagramm 8
Diagramm 9
Diagramm 10
Diagramm 11
Diagramm 12
Tango: Himmelblau 1
Tango: Himmelblau 2
Re: kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 18:23
von F3K Total
... Wenn uns jetzt noch einer sagt, wie man, wenn dem ColorTable über insertbyname() eine neue Farbe zugeordnet wurde, dafür sorgt, dass AOO/LO die neue Farbe übernimmt, dann sind wir ganz weit vorn ... ich habe es nicht herausbekommen ...
Gruß R
Re: kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 18:25
von clag
haha
wenn Karolus mich/uns neidisch machen wollte hat er es zumindest bei mir damit geschafft

Re: kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 19:28
von Karolus
F3K Total hat geschrieben:... Wenn uns jetzt noch einer sagt, wie man, wenn dem ColorTable über insertbyname() eine neue Farbe zugeordnet wurde, dafür sorgt, dass AOO/LO die neue Farbe übernimmt, dann sind wir ganz weit vorn ... ich habe es nicht herausbekommen ...
Gruß R
Wie es auf
diesem Weg geht weiss ich auch nicht, notfalls würde ich einfach ~
4/user/config/standard.soc bearbeiten.
Karolus
Re: kann man die Farbnamen ansprechen?
Verfasst: Sa, 07.02.2015 20:45
von Karolus
clag hat geschrieben:haha
wenn Karolus mich/uns neidisch machen wollte hat er es zumindest bei mir damit geschafft
Neidisch - ja, aber nur insofern ihr euch die Frage stellen sollt
"heh, warum wurstle ich immer noch ausschliesslich mit Basic rum?"
Karolus
Re: kann man die Farbnamen ansprechen?
Verfasst: So, 08.02.2015 11:25
von clag
Hallo Karolus,
Karolus hat geschrieben:Neidisch - ja, aber nur insofern ihr euch die Frage stellen sollt "heh, warum wurstle ich immer noch ausschliesslich mit Basic rum?"
ja genau so war das auch gemeint!
Formel- und Code-generierend betrachtet bis du hier im Forum ja ohne jeden Zweifel Vorreiter und kreierst exzellenten Beispiele und Lösungen.
Aber nicht jeder kann das gleich ohne etwas Erklärung dazu aufsaugen, und hier nehme ich dich jetzt mal im Namen aller Forumsleser in die Pflicht.
Sei bitte so gut, und kommentiere deinen Code zusätzlich etwas.
Dann ist das für Python gewillte Neulinge oder Basic-Umsteiger sicher erheblich einfacher, diese Beispiele aufzunehmen und damit weiter zu kommen.
Sonst ist es fast wie "Perlen vor die Säue werfen" und das wäre doch wirklich Schade.