1

タイトルに要約するには少し複雑なことをしているので、ご容赦ください。

特殊な画像操作機能を提供する C++ ライブラリへのインターフェイスを提供する Python モジュールを作成しています。Python から CGImageRefs としてイメージ バッファにアクセスできると便利です。そのため、Quartz を使用して (PyObjC を使用するとうまく機能します)、さらに操作できます。

したがって、次のように、独自の画像バッファーから CGImageRef 表現を提供する C++ 関数があります。

CGImageRef CreateCGImageRefForImageBuffer(shared_ptr<ImageBuffer> buffer);

Boost::Python を使用して Python ブリッジを作成しています。Python から CGImageRef を使用できるように、この関数をエクスポートする最も簡単な方法は何ですか?

問題: CGImageRef 型は、未定義の構造体へのポインターであるため、直接エクスポートできません。したがって、それを PyCObject などでラップするラッパー関数を作成して、ポインターを Python に送信できるようにすることができます。しかし、このオブジェクトを Python から CGImageRef に「キャスト」するにはどうすればよいでしょうか。これについてもっと良い方法はありますか?

4

1 に答える 1

0

ラッパーは未定義の構造体であり、Boost :: Pythonはインターフェースを知る必要があるため、ラッパーが唯一のオプションだと思います。開始点は次のとおりです: http ://www.boost.org/doc/libs/1_43_0/libs/python/doc/v2/faq.html#xref

必要なメンバー関数をラッパーに追加します。私はやや似たようなことをしていますが、これまでのところきちんと機能しているようです:)。

于 2010-05-26T20:22:04.363 に答える