132 lines
3.1 KiB
C
132 lines
3.1 KiB
C
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#define _TOONZ_PROTOTYPES_
|
|
#include "toonz.h"
|
|
#include "file.h"
|
|
#include "version.h"
|
|
#include "security.h"
|
|
|
|
void main(int argc, char *argv[]) {
|
|
char outname[512], inname[512], *boh;
|
|
int len, i, j, total;
|
|
IMAGE *img = 0, *newimg = 0;
|
|
struct cmap_color *cmap;
|
|
struct gl_color *gl_buffer;
|
|
|
|
toonz_init(DUMMY_KEY_SLOT, (int *)&argc, argv);
|
|
InibisciDongle();
|
|
unprotect_lib();
|
|
|
|
if (argc < 3) {
|
|
printf(" %s error: missing argument\n", argv[0]);
|
|
printf(" usage: %s infile outfile\n", argv[0]);
|
|
exit(0);
|
|
}
|
|
|
|
if (*argv[1] == '-') {
|
|
printf("bad filename <%s> \n", argv[1]);
|
|
exit(0);
|
|
}
|
|
strcpy(inname, argv[1]);
|
|
|
|
len = strlen(argv[2]);
|
|
if (len < 4 || (STR_NE(argv[2] + len - 4, ".tzu") &&
|
|
STR_NE(argv[2] + len - 4, ".tzp"))) {
|
|
printf("%s error: file %s is not tz(up)\n", argv[0], argv[2]);
|
|
exit(0);
|
|
}
|
|
|
|
strcpy(outname, argv[2]);
|
|
|
|
printf(">> Loading %s\n", inname);
|
|
|
|
img = img_read(inname);
|
|
if (!img) {
|
|
printf("file %s not found\n", inname);
|
|
exit(0);
|
|
}
|
|
|
|
printf(">> Immagine di dimensioni: %dx%d\n", img->pixmap.xsize,
|
|
img->pixmap.ysize);
|
|
printf(">Con savebox: %dx%d di dim %d,%d\n", img->pixmap.xD, img->pixmap.yD,
|
|
img->pixmap.xSBsize, img->pixmap.ySBsize);
|
|
|
|
printf(">> Writing %s\n", outname);
|
|
if (!img_write_tzup(outname, img)) {
|
|
printf("non sono stato in grado di scrivere: %s\n", outname);
|
|
exit(0);
|
|
}
|
|
|
|
printf(">> Adesso che l'ho scritto lo rileggo \n");
|
|
|
|
newimg = img_read_tzup(outname);
|
|
if (!newimg) {
|
|
printf("file %s not found\n", inname);
|
|
exit(0);
|
|
}
|
|
|
|
printf(">> Immagine di dimensioni: %dx%d con %dx%d, %dx%d\n",
|
|
newimg->pixmap.xsize, newimg->pixmap.ysize, newimg->pixmap.xD,
|
|
newimg->pixmap.yD, newimg->pixmap.xSBsize, newimg->pixmap.ySBsize);
|
|
total = newimg->pixmap.xsize * newimg->pixmap.ysize;
|
|
|
|
#ifdef QUANDO_SERVE
|
|
gl_buffer = (struct gl_color *)calloc(total, sizeof(struct gl_color));
|
|
|
|
for (i = 0; i < total; i++)
|
|
if (newimg->pixmap.buffer[i] != 2063) {
|
|
gl_buffer[i].red = 0;
|
|
gl_buffer[i].green = 0;
|
|
gl_buffer[i].blue = 0;
|
|
gl_buffer[i].matte = 255;
|
|
} else {
|
|
gl_buffer[i].red = 255;
|
|
gl_buffer[i].green = 255;
|
|
gl_buffer[i].blue = 255;
|
|
gl_buffer[i].matte = 0;
|
|
}
|
|
|
|
newimg->type = RGB;
|
|
newimg->pixmap.buffer = (unsigned short *)gl_buffer;
|
|
|
|
/*
|
|
newimg->cmap.name = NIL;
|
|
newimg->cmap.size = 2048;
|
|
newimg->cmap.offset = 2048;
|
|
newimg->cmap.color_n = 32;
|
|
newimg->cmap.pencil_n = 4;
|
|
|
|
newimg->cmap.buffer = (struct cmap_color*)
|
|
malloc(sizeof(struct cmap_color)*newimg->cmap.size);
|
|
|
|
cmap = newimg->cmap.buffer;
|
|
j = 0;
|
|
for(i=0; i<newimg->cmap.size; i++)
|
|
{
|
|
cmap[i].red = j;
|
|
cmap[i].green = j;
|
|
cmap[i].blue = j;
|
|
j+=17;
|
|
if(j>255) j=0;
|
|
}
|
|
|
|
newimg->cmap.names = NIL;
|
|
|
|
force_to_rgb(newimg, NIL);
|
|
*/
|
|
|
|
boh = "MAMMA.tif";
|
|
printf(">> Writing %s\n", boh);
|
|
if (!img_write_tzup(boh, newimg)) {
|
|
printf("non sono stato in grado di scrivere: %s\n", boh);
|
|
exit(0);
|
|
}
|
|
|
|
#endif
|
|
|
|
printf(">> Riprovami e non te ne pentirai!! <<\n");
|
|
}
|