Tony Cook [Mon, 9 Apr 2007 13:55:11 +0000 (13:55 +0000)]
use a convolution kernel size based on the stddev rather than a
fixed size when performing a gaussian blur
also uses the i_fcolor interfaces when working with >8 bit/sample
images
RT 25645
Tony Cook [Sun, 8 Apr 2007 02:59:43 +0000 (02:59 +0000)]
document setpixel return values
Tony Cook [Sun, 8 Apr 2007 02:58:55 +0000 (02:58 +0000)]
make getpixel/setpixel report failure consistently and document it
fix 16 and double/sample bounds checking
test bounds checks on each image type
Tony Cook [Sun, 8 Apr 2007 00:22:50 +0000 (00:22 +0000)]
add to_rgb16 method
Tony Cook [Tue, 3 Apr 2007 14:11:04 +0000 (14:11 +0000)]
add X org dist's rgb.txt location to search path
fix test for xname to look in the same places as Imager::Color
RT #26064
Tony Cook [Tue, 3 Apr 2007 13:26:02 +0000 (13:26 +0000)]
release targets
Tony Cook [Mon, 2 Apr 2007 23:58:11 +0000 (23:58 +0000)]
0.56 release
Tony Cook [Sun, 1 Apr 2007 11:56:13 +0000 (11:56 +0000)]
flush test output too, to be safe (RT 24859)
Tony Cook [Sat, 31 Mar 2007 12:06:25 +0000 (12:06 +0000)]
improve the unsharpmask documentation (I hope)
Tony Cook [Fri, 30 Mar 2007 09:36:57 +0000 (09:36 +0000)]
flush output from i_tt_dump_names() to attempt to resolve #24859
Tony Cook [Fri, 30 Mar 2007 09:13:28 +0000 (09:13 +0000)]
fix the flasher.pl entry
Tony Cook [Thu, 29 Mar 2007 13:55:53 +0000 (13:55 +0000)]
add a new sample flasher.pl
Tony Cook [Sun, 25 Mar 2007 11:56:52 +0000 (11:56 +0000)]
attempt to work around a compiler bug in the gcc pre-4.0 that shipped
with OS X 10.4
Tony Cook [Sun, 25 Mar 2007 11:22:22 +0000 (11:22 +0000)]
more to do
Tony Cook [Thu, 22 Mar 2007 11:04:00 +0000 (11:04 +0000)]
more to do
Tony Cook [Sun, 18 Mar 2007 12:11:33 +0000 (12:11 +0000)]
generate the %attr hash ourselves instead of with Data::Dumper since
not all of the facilities we use there are available on the older
perls we (try to) support
Tony Cook [Wed, 14 Mar 2007 10:54:25 +0000 (10:54 +0000)]
sanity test new ft2 rendering
Tony Cook [Tue, 13 Mar 2007 14:04:35 +0000 (14:04 +0000)]
switch to a manually built Changes file
Tony Cook [Mon, 12 Mar 2007 09:40:02 +0000 (09:40 +0000)]
add tests for mono make_colors
Tony Cook [Sat, 10 Mar 2007 23:37:42 +0000 (23:37 +0000)]
release tasks for 0.56
Tony Cook [Sat, 10 Mar 2007 23:03:37 +0000 (23:03 +0000)]
the OUTPUT typemap entry for the Imager type was adding an extra
reference to the wrapper object, causing the objects to leak.
RT #24992
Tony Cook [Mon, 19 Feb 2007 23:52:03 +0000 (23:52 +0000)]
pgm.pgm was missing from MANIFEST
Tony Cook [Mon, 19 Feb 2007 13:03:18 +0000 (13:03 +0000)]
fix test count
Tony Cook [Mon, 5 Feb 2007 10:21:32 +0000 (10:21 +0000)]
the image data offset wasn't validated when reading a 240bit bmp
error messages weren't being passed back to errstr() when we failed to
write a BMP file.
document Imager::Test::is_image()
BMP files with negative heights weren't being handled correctly
lots of bmp tests
Tony Cook [Wed, 31 Jan 2007 13:00:47 +0000 (13:00 +0000)]
coverage tests for incomplete files - both error and allow_incomplete
cases
Tony Cook [Wed, 31 Jan 2007 12:59:47 +0000 (12:59 +0000)]
correct i_lines_read for direct color bmp files
Tony Cook [Tue, 30 Jan 2007 09:03:39 +0000 (09:03 +0000)]
forgot to commit the matching test changes
Tony Cook [Tue, 30 Jan 2007 08:58:39 +0000 (08:58 +0000)]
change C<allow_partial> to C<allow_incomplete> to match the tag name
Tony Cook [Sun, 28 Jan 2007 01:54:58 +0000 (01:54 +0000)]
simpler creation of coverage reports
Tony Cook [Mon, 15 Jan 2007 12:56:29 +0000 (12:56 +0000)]
remove unused variables from the typemap entry
Tony Cook [Mon, 8 Jan 2007 09:14:23 +0000 (09:14 +0000)]
fill out files missing froom MANIFEST
Tony Cook [Sat, 30 Dec 2006 21:44:33 +0000 (21:44 +0000)]
Various changes:
- fix drawing text on 2/4 channel images for FT2
- reading ASCII PBMs was broken, it assumed there was whitespace
between samples but there doesn't need to be
- add makemap type of mono/monochrome for producing monochrome images
- roughly tripled speed of reading any sort of PNM
- reading a pnm can now return a partial image if you set allow_partial
- reading a bmp can now return a partial image if you set allow_partial
- we can now read 16-bit/sample binary PGM/PPM images
- we can now write 16-bit/sample binary PGM/PPM files if explicitly
requested (since GIMP can't read them)
- reading a tiff will now only return an incomplete image if you set
allow_partial
- some documentation reformatting
Tony Cook [Sat, 16 Dec 2006 22:33:52 +0000 (22:33 +0000)]
release notes
Tony Cook [Sat, 16 Dec 2006 22:23:17 +0000 (22:23 +0000)]
bump to 0.55:
This is primarily a bug fix release.
Note: Test::More is now a pre-requisite for Imager and is no longer
bundled.
There is one new feature:
- the Win32 font driver now supports UTF8 (RT 22166)
Several bugs were fixed:
- the string() method would not output the string "0" (RT 21770)
- fills.c was failing to compile on Solaris 10 (compiler unknown) (RT 21944)
- the gif_disposal and gif_user_input tags weren't being read from the file
correctly (RT 22192)
- Win32 font driver fixes:
- the global descent value from bounding box was the wrong sign
- if the first or last glyph overflowed the left or right side of
the advance width they would be clipped
- gif.c was failing to build under MSVC (RT 23922)
- in some cases strings passed to the string() method were treated as
terminated by NUL (chr 0) (RT 21770)
- on "MSWin32" perl builds we now link to -lzlib instead of -lz since
that's the default build name for zlib on Win32. (RT 23064)
- search $Config{incpath} for headers too, which we should have been
doing all along.
Tony Cook [Fri, 15 Dec 2006 23:05:31 +0000 (23:05 +0000)]
search $Config{incpath} for headers too, why this was left out I don't know
Tony Cook [Fri, 15 Dec 2006 22:32:20 +0000 (22:32 +0000)]
work around a bug in some intermediate versions of Test::More, fixed in current releases
Tony Cook [Fri, 15 Dec 2006 03:30:09 +0000 (03:30 +0000)]
include meta-spec in META.yml as required by the spec
Tony Cook [Fri, 15 Dec 2006 03:27:29 +0000 (03:27 +0000)]
Test::More is now a pre-requisite for Imager, so remove it from the
distribution.
Tony Cook [Thu, 14 Dec 2006 13:52:53 +0000 (13:52 +0000)]
link zlib in using the default installed library name on Win32 instead of as libz.
fixes RT #23064
Tony Cook [Thu, 14 Dec 2006 13:46:32 +0000 (13:46 +0000)]
fix check for MSVC
fixed RT 23922
Tony Cook [Sun, 26 Nov 2006 11:25:29 +0000 (11:25 +0000)]
convert ok(... eq ..., ... ) to is(..., ..., ...)
RT 23184
Tony Cook [Sun, 26 Nov 2006 10:49:52 +0000 (10:49 +0000)]
avoid most compilter warnings produced by GCC 4.1
Tony Cook [Sun, 19 Nov 2006 11:25:55 +0000 (11:25 +0000)]
avoid various compiler warnings
Tony Cook [Thu, 9 Nov 2006 12:48:13 +0000 (12:48 +0000)]
switch to Test::More in a few more test scripts, eliminate the
testtools okx/okn variants
Tony Cook [Thu, 9 Nov 2006 12:24:23 +0000 (12:24 +0000)]
fix a pod error introduced in the previous commit
Tony Cook [Thu, 9 Nov 2006 10:57:08 +0000 (10:57 +0000)]
minor documentation tweaks
Tony Cook [Mon, 6 Nov 2006 10:56:10 +0000 (10:56 +0000)]
added tests for the overflowing box changes, fix draw
string to channel string length for win32 driver
Tony Cook [Mon, 6 Nov 2006 10:22:50 +0000 (10:22 +0000)]
convert t/t00basic to Test::More and have it try to load all of the core modules
Tony Cook [Sun, 29 Oct 2006 08:37:43 +0000 (08:37 +0000)]
fixed a variety of problems:
- global descent from bounding box has been the wrong sign forever
- the left and right side bearing calculations were ignoring the utf 8 flag
- glyphs that overflowed the left or right side of the advance width were being clipped
- the ascent/descent calculations were completely broken by the last (unreleased) commit, fixed that
Tony Cook [Wed, 25 Oct 2006 14:16:33 +0000 (14:16 +0000)]
fix test skip counts for missing/available platforms.
Tony Cook [Wed, 25 Oct 2006 14:04:44 +0000 (14:04 +0000)]
use SvPV to get the length of text to draw rather than strlen(), add
tests for the functionality.
https://rt.cpan.org/Ticket/Display.html?id=21770
Tony Cook [Wed, 25 Oct 2006 13:24:25 +0000 (13:24 +0000)]
break out of the search loop early when we find the right utf8 code
length
Tony Cook [Wed, 25 Oct 2006 00:58:10 +0000 (00:58 +0000)]
the decription of the page parameter didn't belong in the description
of the tags.
Tony Cook [Thu, 19 Oct 2006 12:28:40 +0000 (12:28 +0000)]
Add UTF8 support to the Win32 font driver
http://rt.cpan.org/Ticket/Display.html?id=22166
Tony Cook [Thu, 19 Oct 2006 10:26:12 +0000 (10:26 +0000)]
The gif_disposal and gif_user_input tags weren't being set to the
correct values when a GIF with a GCE block was read.
http://rt.cpan.org/Ticket/Display.html?id=22192
Tony Cook [Sun, 8 Oct 2006 12:21:09 +0000 (12:21 +0000)]
the string() method would not output the string "0"
See: https://rt.cpan.org/Ticket/Display.html?id=21770
Tony Cook [Sun, 8 Oct 2006 11:49:40 +0000 (11:49 +0000)]
work around compilation problem reported in
https://rt.cpan.org/Ticket/Display.html?id=21944
Tony Cook [Thu, 14 Sep 2006 07:43:24 +0000 (07:43 +0000)]
This is primarily a feature release:
- a new qtype value 'mixing' has been added to the scale() method.
This is faster than 'normal', slower than 'preview'. This is based on
the method used by pnmscale, and seems to produce less blurry results
than normal.
- the rubthrough() method can now render onto images with an alpha
channel.
- the read_multi() method now falls back to calling doing a single
image read via the read() method and write_multi() will now fall
back to calling write() if a single image is supplied. This means
you can simply call the read_multi() or write_multi() functions
without having to check if the type is formatted by that method.
- the GIF loop extension can now be written. If you don't have
libungif/giflib 4.1.4 (or some distribution's bugfixed equivalent)
you should upgrade.
- getscanline() and setscanline() can now read/write palette index
based data from/to the image for paletted images, by setting type to
'index'.
- we no longer hassle you to disable GIF support
- minor documentation fixes
Tony Cook [Tue, 12 Sep 2006 04:19:09 +0000 (04:19 +0000)]
add generated .c files to make clean
Tony Cook [Wed, 6 Sep 2006 13:50:43 +0000 (13:50 +0000)]
add .perl files to the t94kwalitee struct tests and fix the non strict
.perl code
Tony Cook [Wed, 6 Sep 2006 11:35:38 +0000 (11:35 +0000)]
read_multi() now falls back to calling read() and write_multi() now
falls back to calling write() for a single image.
Tony Cook [Fri, 1 Sep 2006 07:17:36 +0000 (07:17 +0000)]
skip the right number of tests when gif not available
Tony Cook [Thu, 31 Aug 2006 13:35:33 +0000 (13:35 +0000)]
rubthrough done
Tony Cook [Thu, 31 Aug 2006 13:27:19 +0000 (13:27 +0000)]
skip the loop tests with older (un)giflibs
Tony Cook [Thu, 31 Aug 2006 13:16:45 +0000 (13:16 +0000)]
Changes to GIF support:
- the Nescape loop extension block is written if gif_loop is set.
This requires libungif/libgif 4.1.3 or later.
Resolves: http://rt.cpan.org/Ticket/Display.html?id=21185
- we now set the GIF header depending on the features enabled in the
GIF. Since we don't do configure type probes for bugs we have to
enable this based on the gif_lib.h version number, it's enabled for
4.1.0 and later, but requires 4.1.3 and later (maybe 4.1.3) to run
without crashing.
You can avoid this crash by passing --nogifsetversion to Makefile.PL,
or by installing a non-buggy libungif/libgif, if there is such a
thing.
Tony Cook [Wed, 30 Aug 2006 07:25:55 +0000 (07:25 +0000)]
note on relative speeds of the scaling mechanisms
Tony Cook [Wed, 30 Aug 2006 06:47:48 +0000 (06:47 +0000)]
convert scale.c to scale.im so we have 8 bit/sample and double/sample
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)
Tony Cook [Tue, 29 Aug 2006 07:20:42 +0000 (07:20 +0000)]
comparisons against $ExtUtils::MakeMaker::VERSION were warning when
that had an _ in it. We now eval it to prevent the warning.
Tony Cook [Tue, 29 Aug 2006 00:42:46 +0000 (00:42 +0000)]
the rubthrough() method now supports destination images with an alpha
channel.
Also added a statement on the relationship between the alpha channel
and color data in Imager.
The new rubthrough() code uses a new pre-processor that reduces source
code duplication between 8-bit/sample and double/sample processing.
Tony Cook [Tue, 29 Aug 2006 00:23:01 +0000 (00:23 +0000)]
remove t/t60dyntest.t from the MANIFEST, since we moved it
Tony Cook [Sat, 19 Aug 2006 07:24:35 +0000 (07:24 +0000)]
to_rgb8 doesn't crop but the void content warning said it did
Tony Cook [Fri, 18 Aug 2006 07:08:37 +0000 (07:08 +0000)]
move the existing dynfilt test into dynfilt/t, update it to use
Test::More and remove the dummy test script
Tony Cook [Fri, 18 Aug 2006 04:35:27 +0000 (04:35 +0000)]
Merged in the scale branch:
- 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'.
Tony Cook [Tue, 15 Aug 2006 08:12:30 +0000 (08:12 +0000)]
added pixel type 'index' to getscanline() and setscanline() for
getting/setting palette indexes from paletted images.
https://rt.cpan.org/Ticket/Display.html?id=20338
Tony Cook [Thu, 10 Aug 2006 01:53:19 +0000 (01:53 +0000)]
finally found which file contained the POD errors that
http://cpants.perl.org/kwalitee/Imager was complaining about
modified t/t91pod.t to check every pl/pod/pm/PL file
Tony Cook [Mon, 7 Aug 2006 14:20:21 +0000 (14:20 +0000)]
you need to load Imager to use the API, Imager::API now tells the user
that
http://rt.cpan.org/Ticket/Display.html?id=20823
Tony Cook [Mon, 7 Aug 2006 07:02:43 +0000 (07:02 +0000)]
Removed the query asking if GIF support should be disabled, since
recent lib(un)gif are sane.
https://rt.cpan.org/Ticket/Display.html?id=20687
Some README cleanup.
Tony Cook [Sat, 29 Jul 2006 05:21:49 +0000 (05:21 +0000)]
basic todo for 0.54
Tony Cook [Thu, 27 Jul 2006 00:38:49 +0000 (00:38 +0000)]
bump to 0.53
This is to fix a crash bug introduced in 0.52.
http://rt.cpan.org/Ticket/Display.html?id=20705
Tony Cook [Thu, 27 Jul 2006 00:31:44 +0000 (00:31 +0000)]
there was a C< *(char *)0 = 0 > left in a code path uncovered by the
test suite.
- added a test to cover that code path
- removed the debug code
Fixes: http://rt.cpan.org/Ticket/Display.html?id=20705
Tony Cook [Tue, 25 Jul 2006 04:43:38 +0000 (04:43 +0000)]
bump to 0.52
This is primarily a feature release, but contains a fair few bug
fixes, new features:
- ability to read and write MS Windows ICO and CUR files
- you can now add file format plugins to support new file formats
- add POD coverage tests
- setcolors() and addcolors() now accept color names and so on instead
of requiring Imager::Color objects.
- flood_fill() can now fill to a specified border color instead of
just to the area the same color as the seed.
Bug fixes:
- bounding_box for the T1 driver wasn't converting UTF8 to ascii when
calculating the advance width.
- bounding_box for the T1 driver wasn't including leading and trailing
spaces in the bounding box as the other drivers did, it also produced
strange results for empty strings or strings containing only spaces
- when reading CMYK jpeg images they were being transferred to the
image object as is, producing a four channel image. It only looked
ok due to an old still unfixed Photoshop bug. We now convert from
the inverted CMYK that photoshop (and Corel for example) produce
into RGB.
- reading a CYMK TIFF would result in a 4 channel image, reading any
image with more than 4 channels (eg. RGB with 2 alpha channels)
would result in an error.
- added /usr/local/include to the default include search path, since
we were already searching /usr/local/lib for libraries.
And various minor fixes and documentation updates.
Tony Cook [Mon, 24 Jul 2006 12:28:31 +0000 (12:28 +0000)]
added a cookbook entry for converting files from one format to another
part of http://rt.cpan.org/Ticket/Display.html?id=5608
Tony Cook [Mon, 24 Jul 2006 12:09:22 +0000 (12:09 +0000)]
document the direction of Imager's co-ordinate system
http://rt.cpan.org/Ticket/Display.html?id=11429
Tony Cook [Mon, 24 Jul 2006 11:27:24 +0000 (11:27 +0000)]
add an example of reading exif tags
Tony Cook [Mon, 24 Jul 2006 11:16:06 +0000 (11:16 +0000)]
add some basic examples of using data, fd, fh, callback parameters
Tony Cook [Mon, 24 Jul 2006 10:17:00 +0000 (10:17 +0000)]
added examples for fh, fd, file, data and callback mechanisms for
reading/writing files.
Tony Cook [Mon, 24 Jul 2006 07:15:49 +0000 (07:15 +0000)]
add detection of BZIP2 and gzip data
Tony Cook [Mon, 24 Jul 2006 04:46:00 +0000 (04:46 +0000)]
add dummy test to dynfilt to since it was confusing smoke testers
Tony Cook [Mon, 24 Jul 2006 04:44:28 +0000 (04:44 +0000)]
commit changes to SpaceTest font source caused by exports
Tony Cook [Fri, 21 Jul 2006 00:01:57 +0000 (00:01 +0000)]
add a magic entry to detect XWD files
Tony Cook [Thu, 20 Jul 2006 14:35:22 +0000 (14:35 +0000)]
bounding_box() for the t1 driver wasn't converting from UTF8 to ascii
when calculating the advance width.
fixes http://rt.cpan.org/Ticket/Display.html?id=20554
Tony Cook [Thu, 20 Jul 2006 13:42:04 +0000 (13:42 +0000)]
bounding_box() for t1 driver fonts was treating spaces as empty space
when calculating the bounds, which they are, but this is inconsistent
with other drivers. This was especially a problem for strings
containing only spaces where the left bound would end up far to the
right of the right bound, and similarly for the ascent and descent.
calculating the bounding box for an empty string invoked special
behaviour in t1lib, making it unreliable.
Fixes: http://rt.cpan.org/Ticket/Display.html?id=20555
Tony Cook [Wed, 19 Jul 2006 00:39:58 +0000 (00:39 +0000)]
bump to 0.51_03
Tony Cook [Tue, 18 Jul 2006 14:34:52 +0000 (14:34 +0000)]
make the selection of a transfer function check that it's getting the
right number of channels
Tony Cook [Tue, 18 Jul 2006 13:34:56 +0000 (13:34 +0000)]
set eol-style so that generation doesn't make svn burp
Tony Cook [Tue, 18 Jul 2006 13:21:21 +0000 (13:21 +0000)]
cast 2 signed/unsigned char pointer conversions to prevent warnings
(errors on some compilers)
Tony Cook [Tue, 18 Jul 2006 12:49:31 +0000 (12:49 +0000)]
report the error if we can't read the alpha test images
Tony Cook [Tue, 18 Jul 2006 12:43:02 +0000 (12:43 +0000)]
newer versions of libtiff were choking on the bad values corel was
putting into EXTRASAMPLES, corrected via hex editing
Tony Cook [Fri, 14 Jul 2006 14:57:44 +0000 (14:57 +0000)]
CMYK jpeg images were being read as 4 channel images, even though they
have no alpha channel.
The colors were being transferred directly from the JPEG image data,
this only looked correct because of an old bug in photoshop, kept for
compatibility in later versions. Photoshop inverts the ink values in
the file, so max cyan coverage is stored at 0, and min as 255, and so
on.
CMYK jpegs are now read as 3 channel images. The colors are now
converted adjusting for the photoshop bug, cmyk images from the only
other source I have, corel draw 9, are inverted in the same way,
presumably for compatibility with photoshop.
If anyone has an application that produces technically correct CMYK
jpegs, please provide a sample in jpeg and tiff form so I can attempt
to deal with it.
Fixes: http://rt.cpan.org/Ticket/Display.html?id=20416
Tony Cook [Thu, 13 Jul 2006 11:04:53 +0000 (11:04 +0000)]
http://rt.cpan.org/Ticket/Display.html?id=20415
Reading a CMYK TIFF with no alpha would result in a 4-channel image.
Also, reading a CMYK TIFF with an alpha channel would fail to read.
Reading a CMYK TIFF with 2 alpha channels would fail to read.
Reading a RGB TIFF with 2 alpha channels would also fail to read.