Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  RGB - Code richtig anzeigen lassen?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
Autor Thema:  RGB - Code richtig anzeigen lassen? (1496 mal gelesen)
Seele
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Seele an!   Senden Sie eine Private Message an Seele  Schreiben Sie einen Gästebucheintrag für Seele

Beiträge: 364
Registriert: 11.06.2003

erstellt am: 29. Sep. 2018 20:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

folgendes Problemchen:
man lässt sich den RGB-Farb-Code einer Fläche ausgeben mit folgendem Befehl:

(display (format nil "Flächenfarbe RGB: ~A" (sd-inq-face-color SelFace)))

dann erhält man als Ausgabe einen RGB-Code aus 3 Zahlen mit Komma getrennt jeweils <= 1.

z.B. 1,0,1 was als richtiger RGB-Code 255,0,255 entspricht. Theoretisch müssten die Rückgabewerte ja jeweils nur mit 255 multipliziert werden.

Wie stelle ich das an, das der Rückgabewert gleich die richtige gewünschte Ausgabe liefert?
Gibt es in LISP da einen Zusatz für den format nil ?

Bedanke mich gleich mal im Vorraus für eure Hilfe.

Gruß Wolfgang 

PS: Beim Farbe einstellen gebe ich ja auch 255, 0, 255 ein und nicht 1,0,1 !

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 04. Okt. 2018 21:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Seele 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Seele:
(display (format nil "Flächenfarbe RGB: ~A" (sd-inq-face-color SelFace)))

Wie stelle ich das an, das der Rückgabewert gleich die richtige gewünschte Ausgabe liefert?
Gibt es in LISP da einen Zusatz für den format nil ?


Brocken hin werf:

Code:
(setq rgb-color (sd-color-to-rgb (sd-inq-face-color SelFace)))  ;; rbg triple
(setq rbg-color255 (sd-vec-scale rgb-color 255))                ;; normiert auf 0..255

Wenn es jetzt zu Rundungsfehlern kommt *) musst du format nil pimpen
Code:
(format nil "~2,0d,~2,0d,~2,0d" (gpnt3d_x rbg-color255) (gpnt3d_y rbg-color255) (gpnt3d_z rbg-color255))
Wenn Du die Hexadezimale Schreibweise, wie z.b. in HTML üblich, haben willst, wäre folgendes einfacher:
Code:
(display (format nil "Flächenfarbe : #~6,0x" (sd-inq-face-color SelFace)))


Eine andere Alternative wäre eine Minifunktion, der Du die Color gibst, und die die 3 Anteile ohne Rundungsfehler via modulo und remainder ermittelt. Diese könnte dann sd-color-to-rgb-255 lauten und entsprechend robust sein.

Gruss Wolfgang  zurück 


*) - nein, der Blick auf die Personenwaage ist dafür nicht nötig

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Seele
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Seele an!   Senden Sie eine Private Message an Seele  Schreiben Sie einen Gästebucheintrag für Seele

Beiträge: 364
Registriert: 11.06.2003

erstellt am: 05. Okt. 2018 13:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wie immer besten Dank für die Hilfreiche Auskunft, ...

Hat funktioniert, ...

Gruß Wolfgang    

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Seele
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Seele an!   Senden Sie eine Private Message an Seele  Schreiben Sie einen Gästebucheintrag für Seele

Beiträge: 364
Registriert: 11.06.2003

Intel(R) Xeon(R) W-2245 CPU @ 3,90 GHz, 64GB RAM
NVidia Quadro RTX A4000
Win10-64Bit
Elements/Direct v20.5.1.0
PartLibrary, Surfacing, 3D-PDF,
3D-Access, Unigraphics-Schnittstelle

erstellt am: 22. Okt. 2018 15:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo, falls jemand auch den korrekten RGB-Code wissen will, hier meine Lösung:

(DISPLAY (format nil "Flächenfarbe-RGB~30T: ~a,~a,~a"
(round (gpnt3d_x (sd-vec-scale (sd-inq-face-color SelFace) 255)))
(round (gpnt3d_y (sd-vec-scale (sd-inq-face-color SelFace) 255)))
(round (gpnt3d_z (sd-vec-scale (sd-inq-face-color SelFace) 255)))
))

Gruß Wolfgang 

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Praktikum im Bereich IQS Production Engineering (m/w/x)

Als Studierende arbeiten Sie mit Ihren Kolleginnen und Kollegen auf Augenhöhe und schaffen sich ideale Voraussetzungen für Ihre spätere Karriere.

In einem offenen und modernen Umfeld mit zahlreichen Entwicklungs- und Weiterbildungsmöglichkeiten, arbeiten die Mitarbeitenden bei ZEISS in einer Kultur, die von Expertenwissen und Teamgeist geprägt ist. All das wird getragen von der ...

Anzeige ansehenFertigungstechnik
der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 05. Mrz. 2019 19:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Seele 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Seele:
(round (gpnt3d_x (sd-vec-scale (sd-inq-face-color SelFace) 255)))

effektiver:
Code:
(round (* (gpnt3d_y (sd-inq-face-color SelFace) 255)))

Es sei denn du spendierst ein (let )... und skalierst den 3D Vector nur einmal.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz