MagickWand for C:缺少文档意味着更多错误

时间:2012-03-07 09:42:10

标签: c file-io imagemagick magickwand

我正在为C编写一个改进的Perlin噪声(我不太了解单纯噪声)地形生成器,我几乎完成了alpha构建。然而,有一件事阻止我:实际上保存了愚蠢的图像。我招募MagickWand来帮助我解决PNG创建的问题,它看起来像一个很好的实现,有大量有用的功能等,但整个事情的文档很少。没有教程,实际上,只是一堆函数列表和一些示例程序。这是我目前为止的代码,基于this:

编辑:删掉一堆不相关的代码。

#include <stdio.h>
#include <stdlib.h>
#include "mt.h"
#include "diamondsquare.h"
#include "/Library/Frameworks/libWand.framework/Versions/6.3.0/Headers/wand/MagickWand.h"

int main () {
    unsigned  long seed = 0, x = 0, y = 0, initial = 0, range = 0;
    int smooth = 0, fail = 1, index1 = 0, index2 = 0, exception = 0;
    char flagchar1 = 'n';
    // Some imperative code. Not relevant.
    image *ConstituteImage(x, y, "I", IntegerPixel, grid, &exception);
    write("image.png", image);
}

至少,我知道这是错误的链接(编译在wand.h中返回一个错误,它无法找到其中一个标题)。使用MagickWand for C从程序中的数组创建图像的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

代码过多,可以概括为:

image *ConstituteImage(x, y, "I", IntegerPixel, grid, &exception);
write("image.png", image);

但请阅读您提供的MagickWand链接:

  

MagickWriteImageFile

     

MagickWriteImageFile()将图像写入打开的文件描述符。该   MagickWriteImageFile方法的格式是:

     

MagickBooleanType MagickWriteImageFile(MagickWand *魔杖,FILE *文件   );每个参数的描述如下:

     魔杖:魔杖。 file:文件描述符。

所以很明显你必须致电:

MagickBooleanType MagickWriteImageFile ( MagickWand *wand, FILE *file );

答案 1 :(得分:0)

该标题几乎肯定会尝试包含其他标题,因此您需要以下内容:

gcc -I"/Library/Frameworks/libWand.framework/Versions/6.3.0/Headers"

gcc -I"/Library/Frameworks/libWand.framework/Versions/6.3.0/Headers/wand"