by the default (qtype=normal) scaling method. https://rt.cpan.org/Public/Bug/Display.html?id=63922
have t/t35ttfont.pl check the font is created, this may have been the cause of the failure at http://www.nntp.perl.org/group/perl.cpan.testers/1313902
true when read() or write() is supplied with an fh parameter. http://rt.cpan.org/Ticket/Display.html?id=35139 - i_scale_axis() wasn't checking the result of i_img_new_ch() resulting in a SIGSEGV when attempting to scale an image to a size too large to fit in memory. This is a NULL pointer access issue, not a buffer overflow. Added a check for the failure. scale_calculate() (and hence scale()) will now fail if any of the scale size parameters are a reference. http://rt.cpan.org/Ticket/Display.html?id=35172
the pixel has zero coverage (zero alpha). This should produce more compressible output files. http://rt.cpan.org/Ticket/Display.html?id=32324
implementations of mixing scaling. modified imtoc.perl to allow non-conditional #code sections to allow creation ofr 8 and double/sample versions of support functions. fixed a bug in an optimization that avoids vertically scaling when the vertical size stays the same. The change from double/sample only to both saved about 20% on scalebench time (which also loads/saves the images)
- adds a new scaling mechanism 'mixing' based on the method implemented by pnmscale. Produces better detail when scaling down and is faster than the 'normal' method. - the scale() method can now scale non-proportionally if the caller specifically asks for it with xscalefactor/yscalefactor or by setting type to 'nonprop'.
constraint via the constrain parameter. - added tests for the various ways we can specify scaling size - documented scale()'s scalefactor parameter
documented as undefined behaviour) - add error handling tests for scale()
…rgb8, scaleX and scaleY methods now warn when called in void context. http://rt.cpan.org/NoAuth/Bug.html?id=9672
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 quant_translate(). - 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 failure. - 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 Imager.pm 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.