- use scanline oriented operations to flip images instead of pixel
[imager.git] / lib / Imager / LargeSamples.pod
1 =head1 NAME
2
3 Imager::LargeSamples - track/document large sample support
4
5 =head1 SYNOPSIS
6
7   # make a large sample image
8   my $im = Imager->new(..., bits => 16);
9
10   # call some method
11   my $result = $im->$method(...);
12
13   # was the image modified at its full sample size
14
15 =head1 DESCRIPTION
16
17 Imager has had in-memory support for large samples for years now, but
18 many methods still don't work at the higher sample size when supplied
19 with a large sample image.
20
21 This document will track which methods support large samples and which
22 don't, for future improvements.
23
24 =head1 Support by method
25
26   Method       Support    Notes
27   ------       -------    -----
28   arc          Partial    [1]
29   box          Partial    [1]
30   circle       Partial    [1]
31   convert      Full
32   copy         Full
33   crop         Full
34   difference   Full
35   filter       Partial    Depends on the filter.
36   flip         Full
37   flood_fill   Partial    [1]
38   getpixel     Full
39   getsamples   Full
40   getscanline  Full
41   map          None
42   masked       Full
43   matrix_transform
44                Full
45   paste        Full
46   polygon      Partial    [1]
47   polyline     None
48   read         Partial    See L<File format large sample support>
49   read_multi   Partial    See L<File format large sample support>
50   rotate       Full
51   rubthrough   Full
52   scale        Partial    Some qtypes support large samples
53   scaleX       None
54   scaleY       None
55   setpixel     Full
56   setscanline  Full
57   string       Full       Preserves large samples, but most font drivers
58                           generate 8 or fewer bits of levels of coverage.
59   transform    None
60   transform2   None
61   write        Partial    See L<File format large sample support>
62   write_multi  Partial    See L<File format large sample support>
63
64 [1] filling an area using the fill parameter works at the full depth
65 of the image, using filled => 1 and color works at 8-bits/sample
66
67 =head1 File format large sample support
68
69   Format    Format samples    Imager support
70   ------    --------------    --------------
71   BMP       8                 8
72   GIF       8                 8
73   ICO       8                 8
74   JPEG      8, 12             8
75   PBM       1                 1
76   PGM/PPM   1-16              read any, writes 8, 16
77   PNG       1, 2, 4, 8, 16    8
78   RAW                         8
79   SGI       8, 16             8, 16
80   TGA       8                 8
81   TIFF      (many)            read/write 8, 16, 32 contig rgb/grey images
82                               read/write bi-level
83                               read/write 4/8 paletted images
84
85 =head1 Filter larger sample support
86
87   Filter      Large sample support
88   ------      --------------------
89   autolevels      No
90   bumpmap         No
91   bumpmap_complex No
92   contrast        No
93   conv            Yes
94   fountain        Yes
95   gaussian        Yes
96   gradgen         No
97   hardinvert      Yes
98   mosaic          No
99   postlevels      No
100   radnoise        No
101   turbnoise       No
102   unsharpmask     Yes
103   watermark       No
104
105 =head1 AUTHOR
106
107 Tony Cook <tony@imager.perl.org>
108
109 =cut
110