X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fgfximage.c;h=c1e694edb349c8880dcd42dba109e1aeeefc67c4;hb=refs%2Fheads%2Fmaster;hp=f1eda7d4825c7495475758bc76d5f1e92efa9185;hpb=b5a996ee217aea486eb78860fe7bab2b522f9678;p=swftools.git diff --git a/lib/gfximage.c b/lib/gfximage.c index f1eda7d..c1e694e 100644 --- a/lib/gfximage.c +++ b/lib/gfximage.c @@ -7,6 +7,15 @@ #include "gfximage.h" #include "types.h" +gfximage_t*gfximage_new(int width, int height) +{ + gfximage_t*i = rfx_calloc(sizeof(gfximage_t)); + i->data = rfx_calloc(width*height*4); + i->width = width; + i->height = height; + return i; +} + void gfximage_save_jpeg(gfximage_t*img, const char*filename, int quality) { int x,y; @@ -19,11 +28,12 @@ void gfximage_save_jpeg(gfximage_t*img, const char*filename, int quality) data[s+2] = img->data[t].b; } jpeg_save(data, img->width, img->height, quality, filename); + free(data); } void gfximage_save_png(gfximage_t*image, const char*filename) { - writePNG(filename, (void*)image->data, image->width, image->height); + png_write(filename, (void*)image->data, image->width, image->height); } typedef struct scale_lookup { @@ -154,10 +164,10 @@ void blurImage(gfxcolor_t*src, int width, int height, int r) for(y=0;y> 16; d[x].a = a >> 16; } - for(x=width-range;x> 16; yy += width; } - for(y=0;ywidth; int height = image->height;