#include #include #include #define PNG_DEBUG 3 #include int width = 64, height = 64; png_color pal[2] = {{255,20,11},{0,17,255}}; unsigned char rowtowriterepeatedly[64] = { 1,0,1,0,0,0,1,0,1,1,0,1,0,1,1,1, 1,0,1,0,0,0,1,0,1,1,0,1,0,1,1,1, 1,0,1,0,0,0,1,0,1,1,0,1,0,1,1,1, 1,0,1,0,0,0,1,0,1,1,0,1,0,1,1,1}; int main(int argc, char **argv) { int i; png_structp png_ptr; png_infop info_ptr; FILE *fp = fopen("out.png", "wb"); if (!fp) { printf("error'd: unable to open file"); return 1; } png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); if (!png_ptr) { printf("[write_png_file] png_create_write_struct failed"); return 1; } info_ptr = png_create_info_struct(png_ptr); if (!info_ptr) { printf("[write_png_file] png_create_info_struct failed"); return 1; } if (setjmp(png_jmpbuf(png_ptr))) { printf("error'd: writing error"); return 1; } png_init_io(png_ptr, fp); png_set_IHDR(png_ptr, info_ptr, width, height, 8, PNG_COLOR_TYPE_PALETTE, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); png_set_PLTE(png_ptr, info_ptr, pal, 2); png_write_info(png_ptr, info_ptr); for (i=0;i