Path to this page:
Subject: CVS commit: wip/p5-Imager
From: Filip Hajny
Date: 2015-07-14 17:45:29
Message id: E1ZF2Ow-0006WH-He@sfs-ml-3.v29.ch3.sourceforge.com
Log Message:
Update wip/p5-Imager to 1.003.
Imager 1.003 - 12 May 2015
============
- update 1.002 release notes to include the center change for filled
circle drawing.
- flood_fill() would escape beyond a 4-connected space under some
circumstances.
Added many more flood_fill() tests.
https://rt.cpan.org/Ticket/Display.html?id=103786
Imager 1.002 - 3 Apr 2015
============
- drawing anti-aliased filled circles is now 10 to 50 times faster
depending on the size of the circle.
This also changed the center from being the center of the pixel to
being the top left of the pixel to match the filled arcs drawn by
arc().
https://rt.cpan.org/Ticket/Display.html?id=101682
- enhancements to polygon filling:
- added a mode parameter to control how overlapping regions behave
- added a polypolygon() method to fill more than one polygon at a
time
- polygon filling is now exposed through the API.
- added colormodel(), alphachannel() and colorchannels() methods.
These were added for two reasons:
- a future version of Imager may allow the number of channels in
an image to not directly represent the color model of an image.
eg. a greyscale TIFF image with multiple alpha channels.
- a future version of Imager may allow an image to be read without
translation, for example a TIFF file that contains measurements
from an instrument. Currently Imager transforms the samples into
the range 0.0 ... 1.0 which may means the user has to translates
the value back.
An untranslated image would be unusable as image data, so
colormodel() would return "unknown" in this case.
Similarly a CMYK image might be returned as an "unknown" color
model image, if the caller chooses to disable translation to
RGB.
Imager 1.001 - 2 Jan 2015
============
- both Imager and perl 5.21.3 define my_strerror(), prevent a conflict
Thanks to Slaven Rezic for the report and the patch.
https://rt.cpan.org/Public/Bug/Display.html?id=98234
- GIF: clean-up a test file if the test for the giflib 4.2.0 file
version bug fails.
- fix Imager::Matrix2d::rotate()'s centre point handling
https://rt.cpan.org/Public/Bug/Display.html?id=99959
- ICO: don't apply the icon mask to images with an alpha channel by
default
https://rt.cpan.org/Public/Bug/Display.html?id=99507
- make verbose probing output more verbose
- use Imager::Probe to probe for freetype 1.x
https://rt.cpan.org/Ticket/Display.html?id=100502
- The --enable and --disable parameters to the top-level Makefile.PL
work again.
- update the bundled/modified Devel::CheckLib to handle the gcc-4
symlink on Cygwin
Imager 1.000 - 28 Jul 2014
============
There's nothing special about Imager 1.000, it's just another release.
- fix the skip check for the iolayer qr// buffer test
- improve error reporting for the iolayer test failing on a small
number of Win32 CPAN testers
Imager 0.99_02 - 21 Jul 2014
==============
- Imager::Filter::Mandelbrot (and dynfilt/mandelbrot.c) - initialize
the blue channel in the generated palette, and allow each color
component to be in the range 100..255 instead of just 100..254.
Thanks to Ralf Neubauer.
https://rt.cpan.org/Ticket/Display.html?id=97086
- revert "improved the XS for i_io_read() and i_io_raw_read()"
This caused problems with older perls and didn't provide much of a
performance improvement.
- support Inline 0.57 and later.
Inline 0.57 changed the "with" interface.
https://rt.cpan.org/Ticket/Display.html?id=97108
- don't define our own MAXINT macro, it conflicts with windows header
files and in a few places it was the wrong value to use anyway.
https://rt.cpan.org/Ticket/Display.html?id=96425
Imager 0.99_01 - 29 Jun 2014
==============
- GIF: add support for giflib 5.1.0, which added error code pointer
parameters to EGifCloseFile() and DGifCloseFile().
https://rt.cpan.org/Ticket/Display.html?id=96756
- GIF: avoid a double-free when do_write() fails.
- fix SV type probing to work on perl before 5.12. Broken in 0.99.
https://rt.cpan.org/Ticket/Display.html?id=96761
- PNG: skip the benign error test before libpng 1.6.0, since the
error we're testing didn't exist before 1.6.0.
https://rt.cpan.org/Ticket/Display.html?id=94717 (continued)
Imager 0.99 - 25 Jun 2014
===========
- Imager::IO->new_buffer() (and hence Imager->read()'s data
parameter) now accepts a reference to a scalar as well as just a
plain scalar.
https://rt.cpan.org/Ticket/Display.html?id=92785
- Imager::IO->new_buffer() now always makes a copy of the passed in
buffer to avoid problems with temporary objects used for the return
value of SvPVbyte().
https://rt.cpan.org/Ticket/Display.html?id=92785
- improved the XS for i_io_read() and i_io_raw_read()
https://rt.cpan.org/Ticket/Display.html?id=92738
- load plugins from absolute paths on Android
Thanks to Brian Fraser.
https://rt.cpan.org/Ticket/Display.html?id=93272
- added the jpeg_optimize parameter for writing JPEG files. This can
significantly reduce file sizes, but uses more memory and time.
https://rt.cpan.org/Ticket/Display.html?id=94292
- the autolevels filter now works on the luminosity of the image
rather then working per channel. The old autolevels filter is
still available as "autolevels_skew".
https://rt.cpan.org/Ticket/Display.html?id=94413
- Imager::File::PNG now supports libpng 1.6.10.
1.6.10 changed CRC errors from benign errors to normal errors,
which broke the test which used CRC errors to check for benign
error support. Switched to using a 1-bit grey-scale image with a
palette to test for benign errors.
https://rt.cpan.org/Ticket/Display.html?id=94717
Imager 0.98 - 3 Jan 2014
===========
Incompatible changes:
- the return value of setpixel() has changed.
Previously the return values for undrawable pixels vs caller errors
changed depending on whether you used the multiple pixel calling
mechanism, or the single pixel mechanism.
Now:
- for an invalid parameter, such as an unknown colour, or missing
parameter, an empty list (or undef in scalar context) is
returned, and errstr() is set,
- otherwise the number of pixels drawn is returned. If none of
the pixels could be drawn (they were all outside the image), "0
but true" is returned.
https://rt.cpan.org/Ticket/Display.html?id=87650
Other changes:
- when drawing on an image with an alpha channel where the source
minimum is greater than zero, Imager would read from beyond the end
of a malloc() allocated buffer. In rare circumstances this could
lead to some of the source image not being written to the target
image, or possibly to a segmentation fault.
I don't believe this has any security concerns beyond that.
- if the first text drawn with Imager::Font::T1 is not anti-aliased,
text drawn would be nonsense. This would also read beyond the end
of a malloced buffer.
- non-AA text drawn with an Imager::Font::TT (Truetype 1) font would be
truncated early.
https://rt.cpan.org/Ticket/Display.html?id=88993
- Imager::Font::Wrap no longer requires the image parameter.
Files: