Changeset 116

Show
Ignore:
Timestamp:
02/06/06 21:24:22 (3 years ago)
Author:
conrad
Message:

add options to set quality

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • fastphoto/trunk/fastphoto.1

    r115 r116  
    2020.SH "COMMANDLINE OPTIONS" 
    2121.PP 
    22 \fBOptions\fR 
     22\fBScale options\fR 
    2323.TP 
    2424\fB\-x\fR, \fB\-\-width\fR 
     
    3030\fB\-s\fR, \fB\-\-scale\fR 
    3131Set the scale as a percentage 
     32.PP 
     33\fBOutput options\fR 
     34.TP 
     35\fB\-q\fR, \fB\-\-quality\fR 
     36Set the output quality as a percentage 
    3237.TP 
    3338\fB\-g\fR, \fB\-\-gray\fR 
  • fastphoto/trunk/src/cache.c

    r115 r116  
    9393{ 
    9494    char * cachedir = FASTPHOTO_DEFAULT_CACHEDIR; 
    95     char * cachefile
     95    char * cachefile, * c
    9696    int cached; 
    9797 
    9898    if (params->scale) { 
    99         cachefile = alloc_snprintf ("%s%s?scale=%d%s", cachedir, path_info, params->scale, params->gray ? "&gray" : ""); 
     99        cachefile = alloc_snprintf ("%s%s?scale=%d", cachedir, path_info, params->scale); 
    100100    } else { 
    101         cachefile = alloc_snprintf ("%s%s?x=%d&y=%d%s", cachedir, path_info, params->x, params->y, params->gray ? "&gray" : ""); 
     101        cachefile = alloc_snprintf ("%s%s?x=%d&y=%d", cachedir, path_info, params->x, params->y); 
     102    } 
     103 
     104    if (params->quality) { 
     105        c = alloc_snprintf ("%s&q=%d", cachefile, params->quality); 
     106        free (cachefile); 
     107        cachefile = c; 
     108    } 
     109 
     110    if (params->gray) { 
     111        c = alloc_snprintf ("%s&gray", cachefile); 
     112        free (cachefile); 
     113        cachefile = c; 
    102114    } 
    103115 
  • fastphoto/trunk/src/cgi.c

    r115 r116  
    1717  if (!strcmp ("scale", key)) params->scale = atoi(val); 
    1818  if (!strcmp ("gray", key)) params->gray = 1; 
     19  if (!strcmp ("quality", key)) params->quality = atoi(val); 
     20  if (!strcmp ("q", key)) params->quality = atoi(val); 
    1921} 
    2022 
  • fastphoto/trunk/src/fastphoto.h

    r115 r116  
    1717    int scale; 
    1818    int gray; 
     19    int quality; 
    1920}; 
    2021 
  • fastphoto/trunk/src/main.c

    r115 r116  
    2727    printf ("  -s, --scale          Set a percentage to scale the image by\n"); 
    2828    printf ("  -g, --gray           Output grayscale\n"); 
     29    printf ("  -q, --quality        Set the output quality 0-100\n"); 
    2930    printf ("\n"); 
    3031} 
     
    4243    params->scale = 0; 
    4344    params->gray = 0; 
     45    params->quality = 0; /* default */ 
    4446 
    4547    while (1) { 
    46         char * optstring = "hvx:y:s:g"; 
     48        char * optstring = "hvx:y:s:gq"; 
    4749 
    4850#ifdef HAVE_GETOPT_LONG 
     
    5456            {"scale", required_argument, 0, 's'}, 
    5557            {"gray", no_argument, 0, 'g'}, 
     58            {"quality", required_argument, 0, 'q'}, 
    5659            {0,0,0,0} 
    5760        }; 
     
    8588        case 'g': /* gray */ 
    8689            params->gray = 1; 
     90        case 'q': /* quality */ 
     91            params->quality = atoi (optarg); 
    8792        default: 
    8893            break; 
  • fastphoto/trunk/src/resize.c

    r115 r116  
    3434    epeg_decode_colorspace_set (im, EPEG_GRAY8); 
    3535 
     36  if (params->quality) 
     37    epeg_quality_set (im, params->quality); 
     38 
    3639  epeg_file_output_set(im, params->outfile); 
    3740  epeg_encode(im);