2010-05-12 2 views
1

제목에 요약하기가 다소 복잡하기 때문에 나와 함께하시기 바랍니다.Python에서 PyObjC를 사용하여 CGImageRef를 다시 해석하십시오.

저는 특수한 이미지 조작 기능을 제공하는 C++ 라이브러리에 대한 인터페이스를 제공하는 Python 모듈을 작성하고 있습니다. 파이썬에서 CGImageRefs로 이미지 버퍼에 접근하는 것이 가장 편리 할 것이므로 Quartz (PyObjC를 사용하면 더 잘 동작한다)를 사용하여 더 조작 할 수있다. 내 파이썬 다리를 만들 부스트 :: 파이썬을 사용하고

CGImageRef CreateCGImageRefForImageBuffer(shared_ptr<ImageBuffer> buffer);

:

그래서 나는이 같은, 내 자신의 이미지 버퍼에서 CGImageRef 표현을 제공하는 C++ 기능을 가지고있다. 파이썬에서 CGImageRef를 사용할 수 있도록이 함수를 내보내는 가장 쉬운 방법은 무엇입니까?

문제점 : CGImageRef 유형은 정의되지 않은 구조체에 대한 포인터이기 때문에 직접 내보낼 수 없습니다. 그래서 PyCObject 나 파이썬에 포인터를 보내도록 포장하는 래퍼 함수를 ​​만들 수 있습니다. 그런데 어떻게이 객체를 파이썬에서 CGImageRef로 "캐스팅"합니까? 이 문제를 해결할 더 좋은 방법이 있습니까?

답변

0

정의되지 않은 구조체이며 Boost :: Python이 인터페이스를 알아야하므로 래퍼가 유일한 옵션이라고 생각합니다. 다음은 시작 지점입니다. http://www.boost.org/doc/libs/1_43_0/libs/python/doc/v2/faq.html#xref

필요한 래퍼 함수를 ​​래퍼에 추가합니다. 나는 다소 비슷한 것을하고 있는데, 지금까지 제대로 작동하고있는 것 같습니다 :).

관련 문제