www.pudn.com > imgproc.zip > IMGSIZE.C


#include  
#include  
#include  
#include  
 
#define _SCREEN_VAR 
 
#include "e:\\wimg\\h\\image.h" 
#include "e:\\wimg\\h\\imgfile.h" 
#include "e:\\wimg\\h\\imgproc.h" 
 
imagedes  img; 
imagedes  des; 
void __busy(int percent) 
{ 
  if(percent > 100)    printf("Busy \b\b\b\b\b"); 
  else if(percent<= 0) printf("Idle \b\b\b\b\b"); 
  else                 printf("%3d%% \b\b\b\b\b", percent); 
}             
 
int main(int argc, char **argv) 
{ 
  int tmp; 
  char ifname[257]; 
  char ofname[257]; 
  double xr, yr; 
  int xsize, ysize; 
  BOOL zoomf=FALSE; 
  BOOL aspect=FALSE; 
   
  fputs("Image File Strecher Version 1.2a\n" 
        "Released 05/25/1999, Yang YuDong.\n" 
        "   yangyd@yahoo.com\n" 
	    "   http://pcvideo.yeah.net\n", stderr); 
  ifname[0]=0; 
  ofname[0]=0; 
  xr = -1.0; yr = -1.0; 
  xsize = 0; ysize = 0; 
  for(tmp=1; tmp  yr) xr = yr; 
	 xsize = (int)(xr*img.xsize+0.5); 
	 ysize = (int)(xr*img.ysize+0.5); 
  } 
 
 
  if(xsize == img.xsize && ysize == img.ysize && !*ofname) { 
    printf("Not stretched : %s\n", ifname); 
    return 0; 
  }   
  if(!*ofname) strcpy(ofname, ifname); 
     
  if(!image_resample(&des, img, xsize, ysize, Interp_normal)) { 
    FreePicture(&img); 
    fprintf(stderr, "Error: failed to do strech\n"); 
    return 0; 
  } 
  if(img.imagetype == Color256) memcpy(des.pal, img.pal, 768); 
   
  if(!Savefile_on_extension(ofname, des)) { 
    FreePicture(&des); 
    FreePicture(&img); 
    fprintf(stderr, "Error: unable to save image '%s'\n", ofname); 
    return 0; 
  } 
  FreePicture(&des); 
  FreePicture(&img); 
  printf("Done %s\n", ofname); 
  return 1; 
}