On 13/05/2015 at 17:21, xxxxxxxx wrote:
I'm trying to match my GeUserArea color to the current interface color.
color = c4d.GeGetGray()
self.background_color = Vector(color['x'] / 255.0, color['y'] / 255.0, color['z'] / 255.0)
colid = c4d.VIEWCOLOR_C4DBACKGROUND
self.background_color = c4d.GetViewColor(colid)
...but neither one matches.
How do you get it?
On 14/05/2015 at 02:10, xxxxxxxx wrote:
GeGetGray() returns the default Cinema gray color. It's not meant for the GUI but for bitmaps, materials, textures i.e. rendering.
GetViewColor() returns only colors for the viewport system.
To get a GUI color from inside a GeUserArea call self.GetColorRGB() with the color ID to retrieve e.g. c4d.COLOR_BG for the background color of Cinema interface. Note the returned value is a dict so you have to build a color vector and divide each value by 255.0 as you have done in your GeGetGray() example.
bg = self.GetColorRGB(c4d.COLOR_BG)
self.backcolor = c4d.Vector(bg['r']/255.0, bg['g']/255.0, bg['b']/255.0)
On 14/05/2015 at 21:09, xxxxxxxx wrote:
That's the one.