## NAME

         translate - moves the entire image or a part of the image

## SYNOPSIS

          #include <CVIPimage.h>
          #include <CVIPmatrix.h>
          #include <CVIPgeometry.h>
          #include <CVIPdef.h>

         Image *translate(Image *cvipImage, CVIP_BOOLEAN do_wrap, int
         r_off,  int  c_off, int r_mount,int c_mount,int r_slide, int
         c_slide, float fill_out)

          <cvipImage> - pointer to an Image structure
          <do_wrap> - wrap image during translation if CVIP_YES
          <r_off> - row # of upper-left pixel in area to move
          <c_off> - column # of upper-left pixel in area to move
          <r_mount> - height of area to move
          <c_mount> - width of area to move
          <r_slide> - distance to slide vertically
          <c_slide> - distance to slide horizontally
          <fill_out> - value to fill vacated area in cut-and-paste

## PATH

          $CVIPHOME/GEOMETRY/translate.c

## DESCRIPTION

         Translate can perform two different  operations,  horizontal
         and  vertical translation of an image, or cut-and-paste of a
         part of an image. Translation moves the image as a whole; it
         can either wrap the image around the 'edges' or fill vacated
         areas with a constant value.  Cut-and-paste  moves  a  user-
         defined part of the image, and fills the vacated area with a
         user-provided value.

## TYPES AND CONSTANTS

         none

## RETURN VALUES

         Returns  a  translated  image  upon  successful  completion;
         returns NULL if an error occurs.

## BUGS

         None at this time

## EXAMPLE

          #include <CVIPtoolkit.h>
          #include <CVIPimage.h>
          #include <CVIPdef.h>
          #include <CVIPgeometry.h>
          #include <CVIPconvert.h>
          #include <CVIPview.h>
          #define VIEWER "picture"
          #define VIDEO_APP "SunVideo &"

          void main()
          {
          Image *cvipImage;
          IMAGE_FORMAT format;
          char *inputfile,*outputfile;

          setDisplay_Image(VIEWER, "Default");

          print_CVIP("0Enter the  Input File Name:  ");
          inputfile =(char *) getString_CVIP();
          format = getFormat_CVIP(inputfile);
          cvipImage = read_Image(inputfile, 1);
          view_Image(cvipImage, inputfile);
          free(inputfile);
          /*the following call translates the image both in the
          horizontal and vertical direction.The starting point
          of the translation is 0,0 and the ending point of
          translation is 255,255.The amount of translation is
          10 pixels in the horizontal and vertical direction*/
          cvipImage = translate(cvipImage,CVIP_YES,0,0,256,256,
          10,10,0);
          print_CVIP("0Enter the Output File Name:  ");
          outputfile = getString_CVIP();
          view_Image(cvipImage,outputfile);
          write_Image(cvipImage,outputfile,CVIP_NO,CVIP_NO,format,1);
          free(outputfile);
          }

## SEE ALSO

         libgeometry

## AUTHOR

         Copyright (C) 1995 SIUE - by Scott Umbaugh and Kun Luo.