diff options
author | Henning Makholm <henning@makholm.net> | 2006-01-27 18:00:00 (EST) |
---|---|---|
committer | Julien Jorge <julien.jorge@stuff-o-matic.com> | 2013-01-10 16:00:40 (EST) |
commit | 7b7cd6da61b1fcc0f2a3ecce2cb9e6c42782c717 (patch) | |
tree | 98d2772f50aaddb02ac94492d2b8b151aa3e9465 /test/source/mkbase.i | |
download | xcftools-7b7cd6da61b1fcc0f2a3ecce2cb9e6c42782c717.zip xcftools-7b7cd6da61b1fcc0f2a3ecce2cb9e6c42782c717.tar.gz xcftools-7b7cd6da61b1fcc0f2a3ecce2cb9e6c42782c717.tar.bz2 |
Import of release 0.7
Diffstat (limited to 'test/source/mkbase.i')
-rw-r--r-- | test/source/mkbase.i | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/source/mkbase.i b/test/source/mkbase.i new file mode 100644 index 0000000..ec408ef --- /dev/null +++ b/test/source/mkbase.i @@ -0,0 +1,60 @@ +/* -*- C -*- + * This program is written by Henning Makholm, and is in the + * public domain. + */ + +#include <png.h> +#include <stdio.h> +#include <stdlib.h> + +static void +error(png_structp png_ptr, png_const_charp errormsg) +{ + fprintf(stderr,"PNG error: %s\n",errormsg); + exit(1); +} + + +int +main(void) +{ + png_structp libpng = NULL ; + png_infop libpng2 = NULL ; + unsigned char row[TEST_IMAGE_WIDTH*4] ; + unsigned x,y ; + int r,g,b,a ; + + libpng = png_create_write_struct(PNG_LIBPNG_VER_STRING, + png_voidp_NULL, + error, + png_error_ptr_NULL); + if( !libpng ) + error(libpng,"Couldn't initialize libpng library"); + + libpng2 = png_create_info_struct(libpng); + if( !libpng2 ) + error(libpng,"Couldn't create PNG info structure"); + + png_init_io(libpng,stdout); + + png_set_IHDR(libpng,libpng2,TEST_IMAGE_WIDTH,TEST_IMAGE_HEIGHT, + 8, PNG_COLOR_TYPE_RGB_ALPHA, + PNG_INTERLACE_NONE, + PNG_COMPRESSION_TYPE_DEFAULT, + PNG_FILTER_TYPE_DEFAULT); + + png_write_info(libpng,libpng2); + + for( y=0; y<TEST_IMAGE_HEIGHT; y++ ) { + for( x=0; x<TEST_IMAGE_WIDTH; x++ ) { + makepixel(x,y,&r,&g,&b,&a); + row[x*4+0] = r ; + row[x*4+1] = g ; + row[x*4+2] = b ; + row[x*4+3] = a ; + } + png_write_row(libpng,row); + } + png_write_end(libpng,libpng2); + return 0 ; +} |