eqemu
diff libs/libimago/test/test.c @ 10:819c7ebb1bec
added libimago to avoid the external dependency
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 18 Jul 2014 05:07:40 +0300 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/libs/libimago/test/test.c Fri Jul 18 05:07:40 2014 +0300 1.3 @@ -0,0 +1,63 @@ 1.4 +#include <stdio.h> 1.5 +#include <imago2.h> 1.6 + 1.7 +int main(int argc, char **argv) 1.8 +{ 1.9 + const char *infile = "foo.jpg"; 1.10 + const char *outfile = "bar.jpg"; 1.11 + int i, j, xsz = 512, ysz = 512; 1.12 + struct img_pixmap img; 1.13 + 1.14 + for(i=1; i<argc; i++) { 1.15 + if(argv[i][0] == '-' && argv[i][2] == 0) { 1.16 + switch(argv[i][1]) { 1.17 + case 'i': 1.18 + infile = argv[++i]; 1.19 + break; 1.20 + 1.21 + case 'o': 1.22 + outfile = argv[++i]; 1.23 + break; 1.24 + 1.25 + default: 1.26 + fprintf(stderr, "invalid option: %s\n", argv[i]); 1.27 + return 1; 1.28 + } 1.29 + } else { 1.30 + fprintf(stderr, "invalid argument: %s\n", argv[i]); 1.31 + return 1; 1.32 + } 1.33 + } 1.34 + 1.35 + img_init(&img); 1.36 + 1.37 + if(img_load(&img, infile) == -1) { 1.38 + unsigned char *pix; 1.39 + 1.40 + fprintf(stderr, "failed to load image: %s, generating instead\n", infile); 1.41 + 1.42 + if(img_set_pixels(&img, xsz, ysz, IMG_FMT_RGB24, 0) == -1) { 1.43 + perror("wtf"); 1.44 + return 1; 1.45 + } 1.46 + 1.47 + pix = img.pixels; 1.48 + for(i=0; i<ysz; i++) { 1.49 + for(j=0; j<xsz; j++) { 1.50 + int bw = ((i >> 5) & 1) == ((j >> 5) & 1); 1.51 + 1.52 + *pix++ = bw ? 255 : 0; 1.53 + *pix++ = 127; 1.54 + *pix++ = bw ? 0 : 255; 1.55 + } 1.56 + } 1.57 + } 1.58 + 1.59 + if(img_save(&img, outfile) == -1) { 1.60 + fprintf(stderr, "failed to save file %s\n", outfile); 1.61 + return 1; 1.62 + } 1.63 + 1.64 + img_destroy(&img); 1.65 + return 0; 1.66 +}