Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Sep 29, 2012
Commits on Aug 14, 2012
  1. fill out documentation

  2. WIP, more context changes

Commits on Aug 13, 2012
Commits on Feb 13, 2012
Commits on Aug 8, 2011
  1. switch to using size_t and i_img_dim strictly

    Also, use double instead of float where the value is used in
    calculating a co-ordinate, since float may not be able to represent an
    image ordinate with sufficient precision
Commits on May 23, 2011
Commits on Nov 26, 2007
  1. merge in tiff re-work branch

    Tony Cook authored
Commits on Oct 30, 2007
  1. - validate chan_count for chans == NULL for each of the i_gsamp()

    Tony Cook authored
Commits on Sep 11, 2007
  1. define 0.61 release goals

    Tony Cook authored
    updated APIRef docs
Commits on Apr 8, 2007
  1. make getpixel/setpixel report failure consistently and document it

    Tony Cook authored
    fix 16 and double/sample bounds checking
    test bounds checks on each image type
Commits on Jan 11, 2006
  1. - constify the Imager API

    Tony Cook authored
Commits on Jan 10, 2006
  1. - start of external Imager API access:

    Tony Cook authored
      - rename headers to avoid conflicts:
        - image.h to imager.h
        - imagei.h to imageri.h
        - datatypes.h to imdatatypes.h
        - config.h to imconfig.h (created by Makefile.PL)
      - moved all public types defined in imager.h to imdatatypes.h
      - supply the PM parameter to WriteMakefile(), to install headers 
        under Imager/include, and the Imager typemap in Imager/typemap.
        We scan the MANIFEST for files to add to PM.
      - add "i_" prefix on some functions useful as public at the C level.
      - moved the typedefs that support the typemap from Imager.xs to 
      - set the global callbacks hook in the Imager.xs BOOT section
      - API cleanup:
        - define i_tags_set(), i_tags_setn() - we might not allow multiple 
          values for a tag in the future
        - i_copy() now returns a new image instead of doing horrible inplace
          things to an existing image
        - provide actual functions for all of the macros we define in imager.h
          so we can put them in the global callbacks structure
      - define global functions structure (imexttypes.h)
        and initialize it (imext.c)
      - add API include header with macros to setup the define and
        initialize the local callbacks pointer, and macros to call the API
      - build Imager::APIRef from C sources, including updating the sources
        to include documentation for each API function.
      - convert dyntest and mandelbrot dynfilts into XS modules (too easy)
      - simple Imager::CountColor example
    - support Inline::C :
      - typemap changes to accept Imager or Imager::ImgRaw objects as 
        image parameters
      - define Imager output type for trivial cases of returning an i_img as
        a full Imager object
      - Inline WITH hook to filter Imager XS types into types Inline::C can
        accept, supply appropriate headers and initialization.
      - test script t/t82inline.t
    - try to use XSLoader instead of DynaLoader (but fallback if necessary)
    - paste() can now paste a subset of the source image.
    - paste() now has better tests
    - paste() should now be faster for larger pastes
Commits on Nov 11, 2005
  1. - setmask() now returns true on success and reports a missing mask

    Tony Cook authored
    - double per sample images were ignoring the channel mask.
Commits on Nov 12, 2004
  1. - creating an image where the size of the allocated image buffer would

    Tony Cook authored
      overflow an integer would cause too small a buffer to be allocated.
      This could potentially be a security hole.
      partly resolves
Commits on Sep 5, 2004
  1. - previously, if you supplied to_paletted and empty color map

    Tony Cook authored
              and set make_colors to 'none', quant_translate() would segfault.
              This was because it was making the reasonable assumption that
              you'd have colors to map to.  quant_translate() now checks there
              is at least one color and return NULL if there isn't.
            - i_img_to_pal() now does error checking of the value returned by
            - Imager::to_paletted() now checks for success/failure of
              i_img_to_pal() correctly and does appropriate error handling.
            - i_writegif_low() did no error checking on the result of
              quant_translate(), it now does
            - we now test that trying to write a GIF image with no palette
              allowable by the quant options is a failure.
            - Imager::write() was doing nothing with the result of the call
              to i_writegif_gen(), in particular it wasn't returning () on
            - added tests for paletted image handling and the methods
              specific to those images
            - the XS for i_setcolors() was missing the OUTPUT clause for
              RETVAL, and hence wasn't returning failure on failure.
            - supplying a sufficiently small scaling value could make the
              scale() method return an image with zero height or width.
            - the void context warning for scale() now includes the callers
              filename/line (instead of the default of line 15xx)
            - Imager->new will now return undef if the dimensions or number of
              channels specified for an image are out of range.  An error
              message can be retrieved with Imager->errstr.
Commits on Mar 25, 2002
  1. Ticket #369 - writing grayscale images to GIF

    Tony Cook authored
    related change to support passing const channel arrays to i_gsamp()
Commits on Oct 28, 2001
  1. Fixed i_transform2() so malloc(0) doesn't happen. Also corrected pod …

    Arnar Mar Hrafnkelsson authored
    …errors and
    added author sections to all .c files.
Commits on Oct 27, 2001
  1. Fixed warnings for ~0 for unsigned int variables. Also a fix for a bug

    Arnar Mar Hrafnkelsson authored
    in the tga code which shows on big endian machines.
Commits on Oct 7, 2001
  1. oops

    Tony Cook authored
Something went wrong with that request. Please try again.