Source

gd-libgd / src / pngtogd2.c

Full commit
pierre 1cdea74 
pierre b0243fe 



pierre 084ba37 
pierre 6223ff8 
pierre 084ba37 

pierre 2315062 
pierre 1cdea74 
pierre 2315062 
pierre 1cdea74 
pierre 084ba37 
pierre 1cdea74 

pierre 084ba37 
pierrejoye e20413b 


pierre 084ba37 
pierrejoye e20413b 
Ondřej Surý 32b1307 
Ondřej Surý e432fca 

pierrejoye e20413b 



Ondřej Surý 32b1307 
pierrejoye e20413b 

pierre b0243fe 
pierrejoye e20413b 
pierre b0243fe 
Pierre Joye e5b9482 
Ondřej Surý 32b1307 
pierre b0243fe 
pierrejoye e20413b 

Ondřej Surý 32b1307 
pierrejoye e20413b 



Ondřej Surý 32b1307 
pierrejoye e20413b 







pierre 6223ff8 
pierrejoye e20413b 
pierre 084ba37 

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include <stdio.h>
#include <stdlib.h>
#include "gd.h"

/* A short program which converts a .png file into a .gd2 file, for
   your convenience in creating images on the fly from a
   basis image that must be loaded quickly. The .gd2 format
   is not intended to be a general-purpose format. */

int
main (int argc, char **argv)
{
	gdImagePtr im;
	FILE *in, *out;
	int cs, fmt;

	if (argc != 5) {
		fprintf(stderr, "Usage: pngtogd2 filename.png filename.gd2 cs fmt\n");
		fprintf(stderr, "       where cs is the chunk size\n");
		fprintf(stderr, "       fmt is 1 for raw, 2 for compressed\n");
		exit (1);
	}
	in = fopen (argv[1], "rb");
	if (!in) {
		fprintf(stderr, "Input file does not exist!\n");
		exit (1);
	}
#ifdef HAVE_LIBPNG
	im = gdImageCreateFromPng (in);
#else
	im = NULL;
	fprintf(stderr, "No PNG library support available.\n");
#endif
	fclose (in);
	if (!im) {
		fprintf(stderr, "Input is not in PNG format!\n");
		exit (1);
	}
	out = fopen (argv[2], "wb");
	if (!out) {
		fprintf(stderr, "Output file cannot be written to!\n");
		gdImageDestroy (im);
		exit (1);
	}
	cs = atoi (argv[3]);
	fmt = atoi (argv[4]);
	gdImageGd2 (im, out, cs, fmt);
	fclose (out);
	gdImageDestroy (im);

	return 0;
}