The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.39

  • For latest versions check the Imager-devel pages: http://www.eecs.umich.edu/~addi/perl/Imager/devel/

Changes for version 0.39

  • A few scattered mymalloc/free fixes
  • io_buffer implemented as a source for io layer and XS and perl OO code added.
  • Test for iolayer t/t07iolayer.t implemented.
  • Fixed known memory leaks.
  • gif screen was wasn't being calculated correctly

Changes for version 0.39

  • split Imager::Font into a base, *::Type1 and *::Truetype
  • writing faxable tiff now allows 2 and 4 channel images
  • virtual image interface - 8-bit/sample images
  • paletted images
  • 16-bit/sample images
  • masked images
  • writing non-8bit images to raw
  • writing '' '' to tiff
  • i_convert support for high-bit images and paletted images
  • i_copy for high-bit and paletted images
  • tests for rubthru
  • rubthru can now rub a 2 channel image over a 1 or 3 channel image
  • rubthru for high-bit images
  • i_readgif_multi functions, which return all the frames from a GIF file, along with a bunch of meta-information as tag
  • OO interface to tags
  • OO interface read_multi() to read multi-image files (just GIF so far)
  • documentation for the multi-image GIF reading and tags
  • rotate() method with rotate by steps of 90 degrees (and docs)
  • fixed a bug in i_img_pal_new_low()
  • added gaussian to the filters list
  • documented the individual filters
  • fixed the right-hand side of bounding boxes for TT fonts where the last character overlaps the advance width (eg. italic fonts)
  • added rotation by exact amounts in degrees or radians, implemented using the matrix idea from Addi. The procedural matrix transformer is exposed, but still needs testing (as XS) and needs an OO interface, hopefully with some helper tools, like the preset interface with ->convert().
  • MY::postamble() in Makefile.PL included a broken rule (Makefile.PL 1.13.2.5)
  • support for GDI fonts under Win32
  • made that work for cygwin too (needs the w32api package)
  • freetype1 support under Win32
  • t1lib support under Win32
  • fixed a minor bug in font.c (invalid font files caused a SEGV)
  • checked cygwin for both t1lib and freetype1
  • freetype 2 support
  • exposed the matrix_transform() function to the OO interface
  • added Imager::Matrix2d convenience class
  • support for setting the resolution when writing to PNG
  • retrieve physical resolution to tags when reading from PNG
  • found an XS bug in the interface to i_tags_add()
  • fixed handling of writing text to a channel with freetype2 (sometimes the edge of a character would damage the edge of the previous character)
  • some utf8 support for freetype2
  • some vertical layout support for freetype2
  • named parameters for specifying colors, with quite a few options.
  • glyph size issues for freetyp2
  • minor problem in handling of canon option
  • low-level bmp writing (moving it to laptop)
  • Windows BMP reading and writing
  • added OO interfaces for the mosaic, bumpmap, postlevels and watermark filters
  • added t/t61filters.t to test the filters
  • fixed some problems in jpeg handling from the exp_represent merge
  • fixed buffer flushing for wiol jpeg code
  • added some tests that will hopefully catch it in the future
  • added the OO interfaces to the mosaic, bumpmap, postlevels and watermark filters, and documented them
  • fixed a sample size conversion problem in i_gpixf_d() etc.
  • added simple color representation conversion functions (used in i_fountain().)
  • added the fountain filter:
    • creates gradients similar to paint software
    • 90% support for GIMP gradient files
    • OO interface and documentation
    • Imager::Fountain for building/loading fill definitions
    • named value translation for filters
  • added a generic fill mechanism
    • created versions of i_box() and i_arc() that can fill using generic fills
    • solid generic fills (with alpha blending if asked for)
    • hatched generic fills (with some options)
    • fountain generic fills
    • sample code to generate an examples page
  • improved the scale* hatches a bit
  • add the flood_fill() method (using the existing i_flood_fill)
  • implement i_flood_cfill() based on i_flood_fill, and add general fills to the flood_fill() method
  • generalize the combine parameter to get different ways of combining the fill with the target
  • the tt driver (freetype 1) didn't handle the first character hanging off the left of the character cell
  • the tt driver produces some artifacts when characters overlapped
  • error handling for writing jpeg images
  • writing paletted images to GIF now uses the image palette if it's small enough
  • $img->arc() now calls i_circle_aa() if a complete circle is being drawn in a plain color
  • image based fills
  • unsharp mask
  • make i_conv() clamp the bottom end of the samples range too (makes it useful for sharpening)
  • adjust ascender/descender values for FT1.x to avoid losing descenders (specifically the bottom of "g" in ImUgly.ttf or arial.ttf at 14pixels)
  • added tga.c to read targa images
  • added i_bumpmap_complex to do more accurate bumpmapping
  • added an image type with doubles as samples
  • change i_copy() and i_sametype() to handle double/sample images
  • added basic POD to trans2.c
  • transform2 now uses the error interface
  • myrealloc() is implemented for malloc debug mode
  • now buffer chains are freed when destructor for Imager::IO is called
  • adjusted the Lanczos window width for the scaling code and added code to normalize the filter generated to preserve intensity scaling.
  • constant edge extension for scaling operations
  • better error checking of automatic fill conversions
  • fix some range checking for the fountain fill segment type

Documentation

decribes the virtual image interface
documents the register virtual machine used by Imager::transform2().

Modules

Perl extension for Generating 24 bit Images
Color handling for Imager.
Rough floating point sample colour handling
implements expression parsing and compilation for the expression evaluation engine used by Imager::transform2()
an assembler for producing code for the Imager register machine
general fill types
Font handling for Imager.
low-level functions for FreeType2 text output
low-level functions for Truetype fonts
low-level functions for Type1 fonts
uses Win32 GDI services for text output
a class for building fountain fills suitable for use by the fountain filter.
simple wrapper for matrix construction
generated information about the register based VM
a library of register machine image transformations

Provides

in lib/Imager/Expr.pm
in lib/Imager/Expr.pm