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を使用しました。あなたの場合、コマンドにわずかな違いがあるかもしれません。

Source: https://habr.com/ru/post/J52775/


All Articles