Extracting bitmap data from GeUserArea

On 05/07/2017 at 20:36, xxxxxxxx wrote:

User Information:
Cinema 4D Version:   18 
Platform:   Windows  ;   
Language(s) :     C++  ;


Is there a way to copy the bitmap information from a GeUserArea? Or at least read color information on a specific pixel in the GeUserArea? So far I've only seen ways to copy bitmaps into it.

The reason I'm trying to do this is the DrawBezier() method. It exists in GeUserArea but not in BaseBitmap nor GeClipMap.

The beziers are a clicakable/interactive element in my GUI like the wires in the XPresso Editor or masks in the Visual Selector. Every spline is drawn in a different color, and the color serves as the ID for the spline. Then I'll read the color of the pixel under the mouse to know which element it's on (the colored splines are in a lower-res clone of the GeUserArea that the user sees on the screen.)

Right now it seems like my option is to manually draw beziers with third-party code, which I'd like to avoid...


On 06/07/2017 at 09:10, xxxxxxxx wrote:


I'm sorry, we are not aware of means to read pixels from a GeUserArea. Maybe one could hack something by getting the window handle of the parent GeDialog. But that would be neither system independent, nor is it something we should recommend or could help with.

On 06/07/2017 at 18:06, xxxxxxxx wrote:

Yeah, that wouldn't work for me unfortunately. The color map I'll be using isn't visible to the user/OS.

I'll just have to think of a different method i guess.