c
ライブラリによって提供される png データへの char ポインターがあります。メモリ内のこのデータから Python でイメージを作成するにはどうすればよいですか。関数は次のc
ようになります。
char *getImage(int *imgSize);
Python では、次のように char* を取得しました。
imSize = c_int()
img = c_char_p()
img = c_char_p(my_c_api.getImage(byref(imSize)))
char*
が img 変数に返され、イメージのサイズ (バイト単位) が変数に返されますimSize
。
次の python スクリプトを実行すると、次のようになります。
im = Image.frombuffer("RGBA", (400,400), img.value, 'raw', "RGBA", 0, 1)
ValueError: buffer is not large enough
エラーが発生します。呼び出しの img 変数が疑われfrombuffer
ます。frombuffer
画像データを呼び出しに正しく渡すには、img 変数をどうする必要がありますか?