#!/usr/bin/pike
/*
 * png2jpg.pike
 *
 * Saves the specifyed file as jpg
 *
 * History:
 *      14/01/2024 Creation
 *
 * Author: Dario Rodriguez antartica@whereismybit.com
 * This program is distributed under the terms of the GNU GPL v2.1+
 */

int
main(int argc, array(string) argv)
{
        string destfilename;
        string infilename;
        int quality;
        Image.Image image;
        if(!(argc==3 || (argc==5 && argv[1]=="-q")) || (argc>1 && argv[1]=="--help")) {
                Stdio.werror("Syntax:  "+argv[0]+" [-q <jpgquality>] <origfile.png> <destfile.png>\n");
                Stdio.werror("Example: "+argv[0]+" file.png dest.jpg\n");
                Stdio.werror("Example result: dest.jpg\n");
                return(1);
        }
        quality=95;
        if(argc==5 && argv[1]=="-q")
                quality=(int)argv[2];
        destfilename=argv[sizeof(argv)-1];
        infilename=argv[sizeof(argv)-2];
        write("* Loading image\n");
        image=Image.load(infilename);
        write("* Writing "+destfilename+"...\n");
        Stdio.write_file(destfilename,Image.JPEG.encode(image,(["quality":quality])));
        write("Converted image to "+destfilename+". Process finished.\n");
        return(0);
}