/* * 画像ファイルよりデータを読んで加工する例 (エッジ抽出) * * % gcc `imlib-config --cflags-gdk --libs-gdk` irl_imlib_linedraw.c * * 2009.7.7 Akira Date * */ #include char in_file[]="ics001.jpg"; /* 入力画像ファイル名 */ char out_file[]="ics001edges.jpg"; /* 出力画像ファイル名 */ /* buffer: working area */ static guint *buf; void effect_linedraw(GdkImlibImage *im) { guchar *data = im->rgb_data; gint i, j, w, h, x, y, length; w = im->rgb_width; h = im->rgb_height; length = w*h*3; /* obtain buffa area */ if (buf==NULL) buf = (guint*)g_malloc0(sizeof(guint)* im->rgb_width * im->rgb_height); /* 画像のグレースケール化 */ j=0; for (i=0; i