Я делаю что-то немного сложное, чтобы подвести итог в названии, поэтому, пожалуйста, потерпите меня.
Я пишу модуль Python, который предоставляет интерфейс для моей библиотеки C ++, которая предоставляет некоторые специализированные функции для работы с изображениями. Было бы наиболее удобно иметь возможность доступа к буферам изображений как CGImageRefs из Python, чтобы их можно было обрабатывать дальше, используя Quartz (используя PyObjC, который работает хорошо).
Итак, у меня есть функция C ++, которая предоставляет представление CGImageRef из моих собственных буферов изображений, например:
CGImageRef CreateCGImageRefForImageBuffer(shared_ptr<ImageBuffer> buffer);
Я использую Boost :: Python для создания моего моста Python. Как проще всего экспортировать эту функцию, чтобы я мог использовать CGImageRef из Python?
Проблемы: тип CGImageRef не может быть экспортирован напрямую, поскольку он является указателем на неопределенную структуру. Таким образом, я мог бы создать функцию-обертку, которая обернет его в PyCObject или что-то еще, чтобы заставить его отправлять указатель на Python. Но тогда как мне «привести» этот объект к CGImageRef из Python? Есть ли лучший способ сделать это?