home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
vol_300
/
343_02
/
mainr.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-04-07
|
4KB
|
132 lines
/***********************************************
*
* file d:\cips\mainr.c
*
* Functions: This file contains
* main
*
* Purpose:
* This file contains the main calling
* routine for a program which rotates an
* entire 300x300 image by 90
* degrees.
*
* External Calls:
* gin.c - get_image_name
* numcvrt.c - get_integer
* int_convert
* tiff.c - read_tiff_header
* rotate.c - rotate_flip_image_array
*
* Modifications:
* 7 April 1992 - created
*
*************************************************/
#include "d:\cips\cips.h"
short the_image[ROWS][COLS];
short out_image[ROWS][COLS];
main(argc, argv)
int argc;
char *argv[];
{
char name[80], name2[80];
int count, length, width;
struct tiff_header_struct image_header;
_setvideomode(_TEXTC80); /* MSC 6.0 statements */
_setbkcolor(1);
_settextcolor(7);
_clearscreen(_GCLEARSCREEN);
/***********************************************
*
* Interpret the command line parameters.
*
************************************************/
if(argc < 3 || argc > 3){
printf(
"\n"
"\n usage: mainr in-file out_file "
"\n");
exit(0);
}
strcpy(name, argv[1]);
strcpy(name2, argv[2]);
if(does_not_exist(name2)){
printf("\n\n output file does not exist %s", name2);
read_tiff_header(name, &image_header);
round_off_image_size(&image_header,
&length, &width);
image_header.image_length = length*ROWS;
image_header.image_width = width*COLS;
create_allocate_tiff_file(name2, &image_header,
out_image);
} /* ends if does_not_exist */
/***********************************************
*
* Read, rotate, and write each ROWSxCOLS array
* in the input image. Write them to the new
* locations in the output image.
*
************************************************/
count = 1;
printf(" %d", count++);
rotate_flip_image_array(name, name2, the_image,
out_image, 1, 1, 101, 101,
1, 201, 101, 301, 1);
printf(" %d", count++);
rotate_flip_image_array(name, name2, the_image,
out_image, 1, 101, 101, 201,
101, 201, 201, 301, 1);
printf(" %d", count++);
rotate_flip_image_array(name, name2, the_image,
out_image, 1, 201, 101, 301,
201, 201, 301, 301, 1);
printf(" %d", count++);
rotate_flip_image_array(name, name2, the_image,
out_image, 101, 1, 201, 101,
1, 101, 101, 201, 1);
printf(" %d", count++);
rotate_flip_image_array(name, name2, the_image,
out_image, 101, 101, 201, 201,
101, 101, 201, 201, 1);
printf(" %d", count++);
rotate_flip_image_array(name, name2, the_image,
out_image, 101, 201, 201, 301,
201, 101, 301, 201, 1);
printf(" %d", count++);
rotate_flip_image_array(name, name2, the_image,
out_image, 201, 1, 301, 101,
1, 1, 101, 101, 1);
printf(" %d", count++);
rotate_flip_image_array(name, name2, the_image,
out_image, 201, 101, 301, 201,
101, 1, 201, 101, 1);
printf(" %d", count++);
rotate_flip_image_array(name, name2, the_image,
out_image, 201, 201, 301, 301,
201, 1, 301, 101, 1);
} /* ends main */