【问题标题】:Reinterpret a CGImageRef using PyObjC in Python在 Python 中使用 PyObjC 重新解释 CGImageRef
【发布时间】:2010-05-12 21:29:25
【问题描述】:

我正在做的事情在标题中总结起来有点复杂,所以请多多包涵。

我正在编写一个 Python 模块,该模块为我的 C++ 库提供接口,该库提供一些专门的图像处理功能。能够从 Python 以 CGImageRefs 的形式访问图像缓冲区是最方便的,因此可以使用 Quartz 进一步操作它们(使用 PyObjC,效果很好)。

所以我有一个 C++ 函数,它从我自己的图像缓冲区提供 CGImageRef 表示,如下所示:

CGImageRef CreateCGImageRefForImageBuffer(shared_ptr<ImageBuffer> buffer);

我正在使用 Boost::Python 来创建我的 Python 桥。导出此函数以便我可以使用 Python 中的 CGImageRef 的最简单方法是什么?

问题:无法直接导出 CGImageRef 类型,因为它是指向未定义结构的指针。所以我可以制作一个包装函数,将它包装在 PyCObject 或其他东西中,让它将指针发送到 Python。但是,我如何将这个对象“转换”为 Python 中的 CGImageRef 呢?有没有更好的方法来解决这个问题?

【问题讨论】:

    标签: python core-graphics pyobjc boost-python


    【解决方案1】:

    我认为包装器是您唯一的选择,因为它是一个未定义的结构,而 Boost::Python 要求知道接口。这是一个起点: http://www.boost.org/doc/libs/1_43_0/libs/python/doc/v2/faq.html#xref

    我会将您需要的必要成员函数添加到包装器中。我正在做一些类似的事情,到目前为止似乎工作得很好:)。

    【讨论】:

      猜你喜欢
      • 2012-05-11
      • 1970-01-01
      • 2019-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      相关资源
      最近更新 更多