2016-06-21 6 views
0

画像データとカラーテーブルがあります。giflibを使用して1つのフレームGIFとしてエクスポートしようとしています。私はAPIを調べましたが、それを動作させることはできません。プログラムでも最初の関数でクラッシュ:giflibを使用してGIFファイルをエンコードしようとしています

GifFileType image_out; 
int errorCode = 0; 
char* fileName = "SomeName.gif"; 
image_out = *EGifOpenFileName(fileName,true, &errorCode); 

それは私が最初にそれが名前だ指定してファイルを開き、ファイルハンドルでそれを更新する必要が私の理解です。次に、画面の説明を入力し、拡張機能が画像データをブロックし、3Bの終わりをファイルに追加します。次に、EGifSpewを使ってgif全体をエクスポートします。問題は、私もEGifOpenFileName()を使用することができないということです。その行でプログラムがクラッシュします。

誰かがgiflibのAPIを手伝ってくれますか?この問題は本当にイライラしています。おかげさまで

編集:私はカラーテーブルを指定しないと、私はちょうど1コマGIFをエンコードしたい、簡単なエンコーディングの目的のために

+0

プロトタイプは 'GifFileType * EGifOpenFileName(char * GifFileName、bool GifTestExistance、int * ErrorCode)'です。コードはどのようにコンパイルされますか? – Mine

+0

間に "true"を追加するのを忘れました。私はGifFileType * image_in = EGifOpenFileName(fileName、true、&ErrorCode)を書く方が好きだと理解していますが、この方法はまさに有効です。 –

答えて

0

プロトタイプは次のとおりです。

GifFileType *EGifOpenFileName(char *GifFileName, bool GifTestExistance, int *ErrorCode) 

あなたは

GifFileType* image_out = EGifOpenFileName(fileName,true, &errorCode); 

として注意 GifFileTypeを書く必要がありますあなたは ませは、そのようにコピーする必要がありますので、PODのタイプではありません。

+0

これは問題でした。 GifFileType * image_out = EGifOpenFileName(fileName、true、&errorCode); '' 'これは動作しますが、' '' GifFileType * image_out; image_out = EGifOpenFileName(fileName、true、&errorCode); '' 'はコンパイルに失敗します。 –

関連する問題