Reinterpret a CGImageRef using PyObjC in Python

Posted by Michael Rondinelli on Stack Overflow See other posts from Stack Overflow or by Michael Rondinelli
Published on 2010-05-12T21:29:25Z Indexed on 2010/05/12 21:34 UTC
Read the original article Hit count: 473

Hi, I'm doing something that's a little complicated to sum up in the title, so please bear with me.

I'm writing a Python module that provides an interface to my C++ library, which provides some specialized image manipulation functionality. It would be most convenient to be able to access image buffers as CGImageRefs from Python, so they could be manipulated further using Quartz (using PyObjC, which works well).

So I have a C++ function that provides a CGImageRef representation from my own image buffers, like this:

CGImageRef CreateCGImageRefForImageBuffer(shared_ptr<ImageBuffer> buffer);

I'm using Boost::Python to create my Python bridge. What is the easiest way for me to export this function so that I can use the CGImageRef from Python?

Problems: The CGImageRef type can't be exported directly because it is a pointer to an undefined struct. So I could make a wrapper function that wraps it in a PyCObject or something to get it to send the pointer to Python. But then how do I "cast" this object to a CGImageRef from Python? Is there a better way to go about this?

© Stack Overflow or respective owner

Related posts about python

Related posts about pyobjc