gd-libgd / src / gd2topng.c

pierre 1cdea74 
pierre b0243fe 



pierre 084ba37 
pierre 2e0174f 
pierre 084ba37 

pierre 3e02d25 
pierre 1cdea74 
pierre 3e02d25 
pierre 1cdea74 
pierre 084ba37 
pierre 1cdea74 

pierre 084ba37 
pierrejoye e20413b 

















Ondřej Surý 32b1307 
pierrejoye e20413b 








Ondřej Surý 32b1307 
pierrejoye e20413b 



Ondřej Surý 32b1307 
pierrejoye e20413b 


pierre b623f93 
pierrejoye e20413b 
pierre b623f93 
Ondřej Surý 32b1307 
pierre b623f93 
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 x=0, y=0, w=0, h=0;
	if ((argc != 3) && (argc != 7)) {
		fprintf (stderr,
		         "Usage: gd2topng filename.gd2 filename.png [srcx srcy width height]\n");
		fprintf (stderr,
		         "If the coordinates are absent,t he entire image is converted.\n");
		exit (1);
	}
	if (argc == 7) {
		x = atoi (argv[3]);
		y = atoi (argv[4]);
		w = atoi (argv[5]);
		h = atoi (argv[6]);
	}
	in = fopen (argv[1], "rb");
	if (!in) {
		fprintf(stderr, "Input file does not exist!\n");
		exit (1);
	}
	if (argc == 7) {
		im = gdImageCreateFromGd2Part (in, x, y, w, h);
	} else {
		im = gdImageCreateFromGd2 (in);
	}
	fclose (in);
	if (!im) {
		fprintf(stderr, "Input is not in GD2 format!\n");
		exit (1);
	}
	out = fopen (argv[2], "wb");
	if (!out) {
		fprintf(stderr, "Output file cannot be written to!\n");
		gdImageDestroy (im);
		exit (1);
	}
#ifdef HAVE_LIBPNG
	gdImagePng (im, out);
#else
	fprintf(stderr, "No PNG library support available.\n");
#endif
	fclose (out);
	gdImageDestroy (im);

	return 0;
}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.