c - MagickCore 将图像数据写入标准输出而不是文件名

标签 c image-processing imagemagick

我正在使用 MagickCore 从头开始​​生成图像。我试图将我的 Image 保存为 PNG 文件,但每当我调用 WriteImage 时,它都会输出到标准输出,而不是我指定的文件名。例如:

Image *image = ImageGenerator(...); // generates valid image

ImageInfo *info = CloneImageInfo (NULL);
info->file = NULL;
strcpy (info->filename, "test.png");
strcpy (info->magick, "png");

WriteImage (info, image);

使用此代码时,它将 PNG 数据输出到标准输出,而不是 test.png。我还有什么遗漏的吗?

最佳答案

技巧是使用 ImageInfo 结构提供的 FILE *

...
info->file = fopen ("test.png", "w+b");
strcpy (info->filename, "test.png");
strcpy (info->magick, "png");
...

关于c - MagickCore 将图像数据写入标准输出而不是文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1501424/

相关文章:

python - 使用 python 在点之间画一条线进行比较、绘图和分析

PHP:使用 GD/Imagemagick 确定通过 Curl 下载的视觉损坏图像(但有效)

c - 字符串问题(do/while 循环和 if 逻辑)

c++ - 使用 OpenCV 将帧转换为就像从上方获取的一样

c - 生成随机数代码

image - 检测后人脸比对

java - 使用 commons-exec 执行复杂命令

ImageMagick - 抑制警告消息

c - 将字节重新解释为 C 中的 float (IEEE 754 单精度二进制)

C while 循环棘手的异常