libgdを使用してアニメーションGIFを描画します。

この記事の意味は、GDライブラリーをCと組み合わせて使用​​するというアイデアを与えることです。



libgdをダウンロードするか、その使用に関する詳細をここで読むことができます: http : //www.libgd.org/ (eng。)



GDをインストールした後、関数と受信/返されるデータのタイプのリストは/usr/local/include/gd.hファイル(私の場合はsudo updatedb && Locate gd.h )で見つけることができます 。関数の名前を名前で理解するのは非常に簡単です。



これを描く説明を含む小さなプログラムのコードは次のとおりです。



TinyPicによる画像とビデオのホスティング







不明な点がある場合は、以下で詳細に説明します。



それでは始めましょう:



//

#include <gd.h>

#include <stdio.h>



int main( int argc, char **argv) {



gdImagePtr im,im_clear; //

int black, white, trans; //

FILE *out1; //



im = gdImageCreate(100, 100); // 100100

im_clear = gdImageCreate(100, 100);



white = gdImageColorAllocate(im, 255, 255, 255); //

black = gdImageColorAllocate(im, 0, 0, 0);

trans = gdImageColorAllocate(im, 1, 1, 1);



gdImageCopy (im_clear, im, 0,0,0,0, 100, 100); // im im_clear

if (argc>1) out1 = fopen(argv[1], "wb" ); else out1 = fopen( "anim.gif" , "wb" ); //

gdImageGifAnimBegin(im, out1, 1, 0); // gif-



for ( int i=0;i<25;i++)

{

gdImageCopy (im, im_clear, 0,0,0,0, 100, 100); // im

gdImageRectangle(im, i*2, i*2, 100-i*2-1, 100-i*2-1, black); //

gdImageGifAnimAdd(im, out1, 0, 0, 0, 10, 1, NULL); //

};



putc ( ';' , out1); //

fclose(out1); //



gdImageDestroy(im); //

gdImageDestroy(im_clear);



}



* This source code was highlighted with Source Code Highlighter .








ファイルを保存し、

私の場合、次のようにコンパイルします: gcc -lgd file_name -o executable_file_name

そして実行: ./ executable_file_name [where_save_picture]



upd:私の場合、Ubuntu 8.10 OSを使用しました。あなたの場合、コマンドにわずかな違いがあるかもしれません。



All Articles