Documentation
From my personal library, The Internet

man page:

       Tk_FindPhoto,  Tk_PhotoPutBlock, Tk_PhotoPutZoomedBlock, Tk_PhotoGetIm-
       age, Tk_PhotoBlank, Tk_PhotoExpand, Tk_PhotoGetSize, Tk_PhotoSetSize  -
       manipulate the image data stored in a photo image.


SYNOPSIS

       #include <tk.h>
       #include <tkPhoto.h>

       Tk_PhotoHandle
       Tk_FindPhoto(interp, imageName)                                         |

       void
       Tk_PhotoPutBlock(handle, blockPtr, x, y, width, height, compRule)

       void
       Tk_PhotoPutZoomedBlock(handle, blockPtr, x, y, width, height,zoomX, zoomY, subsampleX, subsampleY, compRule)

       int
       Tk_PhotoGetImage(handle, blockPtr)

       void
       Tk_PhotoBlank(handle)

       void
       Tk_PhotoExpand(handle, width, height)

       void
       Tk_PhotoGetSize(handle, widthPtr, heightPtr)

       void
       Tk_PhotoSetSize(handle, width, height)


ARGUMENTS

       Tcl_Interp           *interp       (in)      Interpreter in which image |
                                                    was created.

       CONST char           *imageName    (in)      Name of the photo image.

       Tk_PhotoHandle       handle        (in)      Opaque handle  identifying
                                                    the   photo  image  to  be
                                                    affected.

       Tk_PhotoImageBlock   *blockPtr     (in)      Specifies the address  and
                                                    storage  layout  of  image
                                                    data.

       int                  x             (in)      Specifies the X coordinate
                                                    where  the top-left corner
                                                    of  the  block  is  to  be
                                                    placed within the image.

       int                  y             (in)      Specifies the Y coordinate
                                                    rule  used  when combining |
                                                    transparent  pixels  in  a |
                                                    block of data with a photo |
                                                    image.   Must  be  one  of |
                                                    TK_PHOTO_COMPOSITE_OVERLAY |
                                                    (which puts the  block  of |
                                                    data  over  the top of the |
                                                    existing photo image, with |
                                                    the    previous   contents |
                                                    showing  through  in   the |
                                                    transparent    bits)    or |
                                                    TK_PHOTO_COMPOSITE_SET     |
                                                    (which discards the exist- |
                                                    ing photo  image  contents |
                                                    in  the  rectangle covered |
                                                    by the data block.)

       int                  height        (in)      Specifies  the  height  of
                                                    the   image   area  to  be
                                                    affected (for Tk_PhotoPut-
                                                    Block)   or   the  desired
                                                    image height (for  Tk_Pho-
                                                    toExpand  and Tk_PhotoSet-
                                                    Size).

       int                  *widthPtr     (out)     Pointer  to  location   in
                                                    which  to  store the image
                                                    width.

       int                  *heightPtr    (out)     Pointer  to  location   in
                                                    which  to  store the image
                                                    height.

       int                  subsampleX    (in)      Specifies the  subsampling
                                                    factor  in the X direction
                                                    for input image data.

       int                  subsampleY    (in)      Specifies the  subsampling
                                                    factor  in the Y direction
                                                    for input image data.

       int                  zoomX         (in)      Specifies the zoom  factor
                                                    to  be  applied  in  the X
                                                    direction to pixels  being
                                                    written   to   the   photo
                                                    image.

       int                  zoomY         (in)      Specifies the zoom  factor
                                                    to  be  applied  in  the Y
                                                    direction to pixels  being
                                                    written   to   the   photo
                                                    image.

       include the area, unless the user has specified an explicit image  size
       with  the  -width  and/or  -height  widget  configuration  options (see
       photo(n)); in that case the area  is  silently  clipped  to  the  image
       boundaries.

       The  block  parameter  is  a pointer to a Tk_PhotoImageBlock structure,
       defined as follows:
              typedef struct {
                unsigned char *pixelPtr;
                int width;
                int height;
                int pitch;
                int pixelSize;
                int offset[4];
              } Tk_PhotoImageBlock;
       The pixelPtr field points to the first pixel,  that  is,  the  top-left
       pixel in the block.  The width and height fields specify the dimensions
       of the block of pixels.  The pixelSize field specifies the address dif-
       ference  between two horizontally adjacent pixels.  Often it is 3 or 4,
       but it can have any value.  The pitch field specifies the address  dif-
       ference  between two vertically adjacent pixels.  The offset array con-
       tains the offsets from the address of a pixel to the addresses  of  the
       bytes  containing  the red, green, blue and alpha (transparency) compo-
       nents.  These are normally 0, 1, 2 and 3, but can  have  other  values,
       e.g.,  for  images  that  are  stored  as  separate red, green and blue
       planes.

       The compRule parameter to Tk_PhotoPutBlock specifies a compositing rule |
       that  says what to do with transparent pixels.  The value TK_PHOTO_COM- |
       POSITE_OVERLAY says that the  previous  contents  of  the  photo  image |
       should show through, and the value TK_PHOTO_COMPOSITE_SET says that the |
       previous contents of the photo image should be completely ignored,  and |
       the  values  from the block be copied directly across.  The behavior in |
       Tk8.3 and earlier was equivalent to  having  TK_PHOTO_COMPOSITE_OVERLAY |
       as a compositing rule.

       The value given for the width and height parameters to Tk_PhotoPutBlock
       do not have to correspond to the values specified in  block.   If  they
       are  smaller, Tk_PhotoPutBlock extracts a sub-block from the image data
       supplied.  If they are larger, the data  given  are  replicated  (in  a
       tiled  fashion)  to fill the specified area.  These rules operate inde-
       pendently in the horizontal and vertical directions.

       Tk_PhotoPutZoomedBlock works  like  Tk_PhotoPutBlock  except  that  the
       image  can be reduced or enlarged for display.  The subsampleX and sub-
       sampleY parameters allow the size of the image to be reduced by subsam-
       pling.   Tk_PhotoPutZoomedBlock  will  use  only  pixels from the input
       image whose X coordinates are multiples  of  subsampleX,  and  whose  Y
       coordinates  are  multiples  of  subsampleY.   For example, an image of
       512x512 pixels can be reduced to 256x256 by setting subsampleX and sub-
       sampleY to 2.

       Tk_PhotoBlank  blanks  the entire area of the photo image.  Blank areas
       of a photo image are transparent.

       Tk_PhotoExpand requests that the widget's image be expanded  to  be  at
       least  width  x  height  pixels  in  size.  The width and/or height are
       unchanged if the user has specified an explicit image width  or  height
       with the -width and/or -height configuration options, respectively.  If
       the image data are being supplied in many  small  blocks,  it  is  more
       efficient  to  use  Tk_PhotoExpand  or Tk_PhotoSetSize at the beginning
       rather than allowing the image to expand in many  small  increments  as
       image blocks are supplied.

       Tk_PhotoSetSize  specifies  the  size  of the image, as if the user had
       specified the given width and height values to the -width  and  -height
       configuration  options.   A  value of zero for width or height does not
       change the image's width or height, but allows the width or  height  to
       be  changed by subsequent calls to Tk_PhotoPutBlock, Tk_PhotoPutZoomed-
       Block or Tk_PhotoExpand.

       Tk_PhotoGetSize returns the dimensions of the image  in  *widthPtr  and
       *heightPtr.



PORTABILITY

       In  Tk 8.3 and earlier, Tk_PhotoPutBlock and Tk_PhotoPutZoomedBlock had |
       different signatures. If you want to compile code  that  uses  the  old |
       interface  against  8.4 without updating your code, compile it with the |
       flag  -DUSE_COMPOSITELESS_PHOTO_PUT_BLOCK.   Code  linked  using  Stubs |
       against older versions of Tk will continue to work.



CREDITS

       The  code  for  the  photo  image type was developed by Paul Mackerras,
       based on his earlier photo widget code.



KEYWORDS

       photo, image



Tk                                    8.0                      Tk_FindPhoto(3)

Man(1) output converted with man2html