svn: /gd/trunk/libgd/src/ CMakeLists.txt Makefile.am gd.h gd_filter.c gd_pixelate.c

From: Date: Mon, 13 Sep 2010 16:09:07 +0000
Subject: svn: /gd/trunk/libgd/src/ CMakeLists.txt Makefile.am gd.h gd_filter.c gd_pixelate.c
Groups: php.gd.cvs 
Request: Send a blank email to php-gd-cvs+get-626@lists.php.net to get a copy of this message
kalle Mon, 13 Sep 2010 16:09:07 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=303327 Log: Merge gd_pixelate.c into gd_filter.c so we have one file with all the filters Changed paths: U gd/trunk/libgd/src/CMakeLists.txt U gd/trunk/libgd/src/Makefile.am U gd/trunk/libgd/src/gd.h U gd/trunk/libgd/src/gd_filter.c D gd/trunk/libgd/src/gd_pixelate.c Modified: gd/trunk/libgd/src/CMakeLists.txt =================================================================== --- gd/trunk/libgd/src/CMakeLists.txt 2010-09-13 15:44:53 UTC (rev 303326) +++ gd/trunk/libgd/src/CMakeLists.txt 2010-09-13 16:09:07 UTC (rev 303327) @@ -29,7 +29,6 @@ gd_jpeg.c gd_nnquant.c gd_nnquant.h - gd_pixelate.c gd_png.c gd_tiff.c gd_tga.c Modified: gd/trunk/libgd/src/Makefile.am =================================================================== --- gd/trunk/libgd/src/Makefile.am 2010-09-13 15:44:53 UTC (rev 303326) +++ gd/trunk/libgd/src/Makefile.am 2010-09-13 16:09:07 UTC (rev 303327) @@ -13,7 +13,7 @@ lib_LTLIBRARIES = libgd.la -libgd_la_SOURCES = gd.c gd_color.c gd_color_map.c gd_transform.c gdfx.c gd_security.c gd_gd.c gd_gd2.c gd_io.c gd_io_dp.c gd_gif_in.c gd_gif_out.c gd_io_file.c gd_io_ss.c gd_jpeg.c gd_png.c gd_ss.c gd_topal.c gd_wbmp.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c gdfonts.c gdfontt.c gdft.c gdhelpers.c gdhelpers.h gdkanji.c gdtables.c gdxpm.c jisx0208.h wbmp.c wbmp.h gd_pixelate.c gd_filter.c +libgd_la_SOURCES = gd.c gd_color.c gd_color_map.c gd_transform.c gdfx.c gd_security.c gd_gd.c gd_gd2.c gd_io.c gd_io_dp.c gd_gif_in.c gd_gif_out.c gd_io_file.c gd_io_ss.c gd_jpeg.c gd_png.c gd_ss.c gd_topal.c gd_wbmp.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c gdfonts.c gdfontt.c gdft.c gdhelpers.c gdhelpers.h gdkanji.c gdtables.c gdxpm.c jisx0208.h wbmp.c wbmp.h gd_filter.c libgd_la_LDFLAGS = -version-info 2:0:0 $(XTRA_LDFLAGS) Modified: gd/trunk/libgd/src/gd.h =================================================================== --- gd/trunk/libgd/src/gd.h 2010-09-13 15:44:53 UTC (rev 303326) +++ gd/trunk/libgd/src/gd.h 2010-09-13 16:09:07 UTC (rev 303327) @@ -777,6 +777,7 @@ BGD_DECLARE(gdImagePtr) gdImageNeuQuant(gdImagePtr im, const int max_color, int sample_factor); +/* Filters - defined in gd_filter.c */ enum gdPixelateMode { GD_PIXELATE_UPPERLEFT, GD_PIXELATE_AVERAGE Modified: gd/trunk/libgd/src/gd_filter.c =================================================================== --- gd/trunk/libgd/src/gd_filter.c 2010-09-13 15:44:53 UTC (rev 303326) +++ gd/trunk/libgd/src/gd_filter.c 2010-09-13 16:09:07 UTC (rev 303327) @@ -9,7 +9,6 @@ #include <time.h> #define PIXEL_FUNCTION_DECLARE(f) int (*f)(gdImagePtr, int, int) - #define GET_PIXEL_FUNCTION(src)(src->trueColor ? gdImageGetTrueColorPixel : gdImageGetPixel) #ifdef WIN32 @@ -97,3 +96,58 @@ return 1; } +int gdImagePixelate(gdImagePtr im, int block_size, const unsigned int mode) +{ + int x, y; + + if (block_size <= 0) { + return 0; + } else if (block_size == 1) { + return 1; + } + switch (mode) { + case GD_PIXELATE_UPPERLEFT: + for (y = 0; y < im->sy; y += block_size) { + for (x = 0; x < im->sx; x += block_size) { + if (gdImageBoundsSafe(im, x, y)) { + int c = gdImageGetPixel(im, x, y); + gdImageFilledRectangle(im, x, y, x + block_size - 1, y + block_size - 1, c); + } + } + } + break; + case GD_PIXELATE_AVERAGE: + for (y = 0; y < im->sy; y += block_size) { + for (x = 0; x < im->sx; x += block_size) { + int a, r, g, b, c; + int total; + int cx, cy; + + a = r = g = b = c = total = 0; + /* sampling */ + for (cy = 0; cy < block_size; cy++) { + for (cx = 0; cx < block_size; cx++) { + if (!gdImageBoundsSafe(im, x + cx, y + cy)) { + continue; + } + c = gdImageGetPixel(im, x + cx, y + cy); + a += gdImageAlpha(im, c); + r += gdImageRed(im, c); + g += gdImageGreen(im, c); + b += gdImageBlue(im, c); + total++; + } + } + /* drawing */ + if (total > 0) { + c = gdImageColorResolveAlpha(im, r / total, g / total, b / total, a / total); + gdImageFilledRectangle(im, x, y, x + block_size - 1, y + block_size - 1, c); + } + } + } + break; + default: + return 0; + } + return 1; +} Deleted: gd/trunk/libgd/src/gd_pixelate.c =================================================================== --- gd/trunk/libgd/src/gd_pixelate.c 2010-09-13 15:44:53 UTC (rev 303326) +++ gd/trunk/libgd/src/gd_pixelate.c 2010-09-13 16:09:07 UTC (rev 303327) @@ -1,57 +0,0 @@ -#include "gd.h" - -int gdImagePixelate(gdImagePtr im, int block_size, const unsigned int mode) -{ - int x, y; - - if (block_size <= 0) { - return 0; - } else if (block_size == 1) { - return 1; - } - switch (mode) { - case GD_PIXELATE_UPPERLEFT: - for (y = 0; y < im->sy; y += block_size) { - for (x = 0; x < im->sx; x += block_size) { - if (gdImageBoundsSafe(im, x, y)) { - int c = gdImageGetPixel(im, x, y); - gdImageFilledRectangle(im, x, y, x + block_size - 1, y + block_size - 1, c); - } - } - } - break; - case GD_PIXELATE_AVERAGE: - for (y = 0; y < im->sy; y += block_size) { - for (x = 0; x < im->sx; x += block_size) { - int a, r, g, b, c; - int total; - int cx, cy; - - a = r = g = b = c = total = 0; - /* sampling */ - for (cy = 0; cy < block_size; cy++) { - for (cx = 0; cx < block_size; cx++) { - if (!gdImageBoundsSafe(im, x + cx, y + cy)) { - continue; - } - c = gdImageGetPixel(im, x + cx, y + cy); - a += gdImageAlpha(im, c); - r += gdImageRed(im, c); - g += gdImageGreen(im, c); - b += gdImageBlue(im, c); - total++; - } - } - /* drawing */ - if (total > 0) { - c = gdImageColorResolveAlpha(im, r / total, g / total, b / total, a / total); - gdImageFilledRectangle(im, x, y, x + block_size - 1, y + block_size - 1, c); - } - } - } - break; - default: - return 0; - } - return 1; -}

« previous php.gd.cvs (#626) next »