我有一个指向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
错误。我怀疑frombuffer
调用中的 img 变量。我与 img 变量有什么关系,才能将图像数据正确传递给frombuffer
调用?