0

C 用の改善された Perlin ノイズ (シンプレックス ノイズはよくわかりません) 地形ジェネレーターを作成しており、実質的にアルファ ビルドを終了しています。しかし、私を妨げていることが 1 つあります。それは、実際に愚かなイメージを保存することです。私は MagickWand を採用して、PNG 作成の問題を解決してもらいました。全体としては、たくさんの便利な機能などを備えた優れた実装のように見えますが、全体に関するドキュメントはほとんどありません。チュートリアルはありません。関数のリストといくつかのサンプル プログラムだけです。これに基づいて、これまでの私のコードは次のとおりです。

編集: 無関係なコードの束を切り取ります。

#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);
}

少なくとも、これが間違ってリンクされていることはわかっています (コンパイルすると、ヘッダーの 1 つが見つからないというエラーが wand.h 内で返されます)。MagickWand for C を使用して、プログラム内で配列からイメージを作成する適切な方法は何ですか?

4

2 に答える 2

0

コードが多すぎるため、次のように要約できます。

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

しかし、あなたが提供したMagickWandリンクを読んでください:

MagickWriteImageFile

MagickWriteImageFile() は、開いているファイル記述子に画像を書き込みます。MagickWriteImageFile メソッドの形式は次のとおりです。

MagickBooleanType MagickWriteImageFile ( MagickWand *wand, FILE *file ); 各パラメータの説明は次のとおりです。

ワンド:魔法の杖。file: ファイル記述子。

したがって、次のように呼び出す必要があることは明らかです。

MagickBooleanType MagickWriteImageFile ( MagickWand *wand, FILE *file );
于 2012-03-07T09:52:58.060 に答える
0

そのヘッダーはほぼ間違いなく他のヘッダーを含めようとするため、次のようなものが必要です。

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

また

gcc -I"/Library/Frameworks/libWand.framework/Versions/6.3.0/Headers/wand"
于 2012-03-07T09:57:09.260 に答える