MagickWand lib:写入缓冲区而不是文件

时间:2017-01-01 18:31:04

标签: c imagemagick

如何用MagickWand写入缓冲区(unsigned char *)?

目前我生成一个图像并将其保存到文件中,但我需要它在内存中:

MagickNewImage( wand, 640, 480, p_wand );
MagickWriteImage( wand, "test.jpg" );

1 个答案:

答案 0 :(得分:1)

根据文档,有一个函数MagickGetImageBlob返回unsigned char *,这似乎是你在寻找的东西。其确切的文件是

  

MagickGetImageBlob()实现直接到内存图像格式。它将图像作为blob(内存中的格式化“文件”)及其长度返回,从图像序列中的当前位置开始。使用MagickSetImageFormat()设置要写入blob的格式(GIF,JPEG,PNG等)。

请注意,这确实需要您使用MagickSetImageFormat设置格式,但总体而言,这似乎是您所寻找的最接近的内容。