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

Changes for version 0.45_02

  • some test scripts weren't fixing @INC correctly
  • t/t101jpeg.t wasn't skipping enough when there was no jpeg support
  • bump version to 0.45_02
    • For latest versions check the Imager-devel pages: http://imager.perl.org/

Changes for version 0.45_01

  • give the colorcount() and maxcolors() methods their own entries and add them to the method index.
  • added tiff_bitspersample and tiff_photometric tags to tiff images when read
  • loading filter DLLs/DSOs had an off-by-one error allocating a buffer for the filename of the library (does anyone use this functionality?)
  • remove old #if 0 code from Imager.xs
  • convert t/t15color.t to Test::More
  • prevent warnings when looking up a GIMP color with no palette parameter and $ENV{HOME} not set. Resolves: http://rt.cpan.org/NoAuth/Bug.html?id=13143
  • added VERSION numbers to most .pms
  • convert t/t104ppm.t to Test::More
  • convert t/t107bmp.t to Test::More
  • convert t/t108tga.t to Test::More
  • error messages generated reading JPEG or PNG images are now available via errstr()
  • implement/test/document set_file_limits()/get_file_limits() methods, which allow limits on the size of image files read.
  • new example for convert() method based on Leolo's query
  • implement getscanline(), setscanline() and getsamples() methods. These are low level methods for fast access to image data, based on existing C functions that Imager uses internally.
  • limit limits.c to C89
  • the gif tests weren't skipping enough when there was no gif support
  • move include t1lib out of image.h to font.c, since nothing it provides is needed elsewhere.
  • minor POD fixes
  • added a brief tutorial
  • Imager::Font->new() for the tt (Freetype 1.x) driver now correctly handles errors from i_tt_new(), and passed error messages now generated by i_tt_new(). Resolves: http://rt.cpan.org/NoAuth/Bug.html?id=14804
  • renamed lib/Imager/Cookbook.pm to lib/Imager/Cookbook.pod - CPANTS complains about it not having 'use strict;'
  • add samples/replace_color.pl
  • you can now supply a page parameter to read() to read a given page from a TIFF file.
  • added samples/border.pl, and notes on adding a border in Imager::Cookbook.
  • added sampled/slant_text.pl, and notes on shearing/rotating text in Imager::Cookbook.
  • INCOMPATIBLE CHANGE: reading a gif file will now read the first image from the file rather than the a consolidated image. If you want the old behaviour supply C<< gif_consolidate=>1 >> to the read() method. Older versions of Imager will accept this parameter and produce the same result.
  • you can now supply a page parameter to read() to read a given page from a GIF file.
  • reading a multi-image GIF was leaking memory (a line buffer per file)
  • maxcolors now must be at least 1 when creating a paletted image.
  • converted t/t022double.t to use Test::More
  • t1 library re-initialization modified to support T1Lib 5.1.0
  • setmask() now returns true on success and reports a missing mask parameter.
  • double per sample images were ignoring the channel mask.
  • converted t/t021sixteen.t to use Test::More
  • 16-bit per sample images were ignoring the channel mask
  • added t/t91pod.t
  • expand Imager::ImageTypes:
    • make all methods into =items
    • document parameters
    • more examples
    • add AUTHOR/REVISION/SEE ALSO
  • add samples/tk-photo.pl
  • fixes to verbose mode in Makefile.PL, also added a -v switch so you can enable it via the command-line Resolves: http://rt.cpan.org/NoAuth/Bug.html?id=16094
  • arc(..., fill=> ...) wasn't handling concave areas correctly
  • arc(..., color=>...) wasn't properly filling it's area
  • added experimental antialiased support to arc()
  • the order of the returned values for Imager::Font's align() method was incorrect.
  • check the correct directory when adding the cygwin Win32 API include path (Makefile.PL). This was a later response to #16094 Resolves: http://rt.cpan.org/NoAuth/Bug.html?id=16094
  • add --nolog command-line switch to Makefile.PL to disable logging
  • filled polygons using a complex fill with combine != 0 (none) didn't correctly handle polygons that crossed a given scanline more than once.
  • the straight edges of filled arcs weren't being drawn correctly, causing minor artifacts at the inner and external corners
  • implemented valign=>'end' for Imager::Font->align
  • added $img->align_string() as a way to call Imager::Font->align
  • added samples/align-string.pl
  • improved missing argument handling a little for the string() method
  • linkify Imager.pm a bit more
  • expand Imager::Draw:
    • make all methods items
    • document parameters
    • more examples
    • add AUTHOR, REVISION.
  • add smoke test for nearest_color filter
  • added integer overflow checks to many memory allocation calls
  • added experimental EXIF decoding when reading JPEG files.
  • read/write i_xres, i_yres, i_aspect only tage with JPEG files, and read/write jpeg_density_unit (+_name) tag
  • save the jpeg_comment tag when writing
  • the has_chars() method now checks the font objects utf8 flag as well as the utf8 parameter.
  • clean up Imager::Font documentation:
    • string now documented in Imager::Draw
    • add parameter list documentation
  • document the utf8 parameter for bounding_box(), has_chars() Resolves: http://rt.cpan.org/NoAuth/Bug.html?id=13508
  • decode the EXIF GPS IFD as well
  • minor documentation touchups
  • bump version 0.45_01

Documentation

recipes working with Imager
Draw primitives to images
Programmable transformation operations
working with image files
Entire Image Filtering Operations
Internal image representation information
Simple transformations of one image into another.
an introduction to Imager.
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
built-in Imager color table
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.
objects representing the bounding box of a string.
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
simple wrapped 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
in lib/Imager/Font/Image.pm