rendered paste bodyint SavePNG(char* filename, int tile) {
RGBQUAD temp={0,0,0,0};
unsigned char pn=0;
int x,y;
unsigned char val=0;
int k=0;
BOOL test;
int alpha;
pn=canvas[tile].table;
FIBITMAP *bitmap=FreeImage_Allocate(canvas[tile].width,canvas[tile].height,32,0,0,0);
for(y=0;y<canvas[tile].width;y++) {
for(x=0;x<canvas[tile].height;x++) {
//printf("This far\n");
val=canvas[tile].data[k];
temp.rgbRed=palette[pn].red[val];
temp.rgbGreen=palette[pn].green[val];
temp.rgbBlue=palette[pn].blue[val];
temp.rgbReserved=palette[pn].alpha[val];
FreeImage_SetPixelColor(bitmap,x,y,&temp);
k++;
}
}
k=FreeImage_GetImageType(bitmap);
FreeImage_FlipHorizontal(bitmap);
FreeImage_FlipVertical(bitmap);
FreeImage_Save(FIF_PNG,bitmap,filename,0);
FreeImage_Unload(bitmap);
return 0;
}