HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/share/man/man3/Imager::LargeSamples.3pm
.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "Imager::LargeSamples 3"
.TH Imager::LargeSamples 3 "2014-01-10" "perl v5.26.3" "User Contributed Perl Documentation"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
Imager::LargeSamples \- track/document large sample support
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\&  # make a large sample image
\&  my $im = Imager\->new(..., bits => 16);
\&
\&  # call some method
\&  my $result = $im\->$method(...);
\&
\&  # was the image modified at its full sample size
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Imager has had in-memory support for large samples for years now, but
many methods still don't work at the higher sample size when supplied
with a large sample image.
.PP
This document will track which methods support large samples and which
don't, for future improvements.
.SH "Support by method"
.IX Header "Support by method"
.Vb 10
\&  Method       Support    Notes
\&  \-\-\-\-\-\-       \-\-\-\-\-\-\-    \-\-\-\-\-
\&  arc          Partial    [1]
\&  box          Partial    [2]
\&  circle       Partial    [1]
\&  convert      Full
\&  copy         Full
\&  crop         Full
\&  difference   Full
\&  filter       Partial    Depends on the filter.
\&  flip         Full
\&  flood_fill   Partial    [1]
\&  getpixel     Full
\&  getsamples   Full
\&  getscanline  Full
\&  map          None
\&  masked       Full
\&  matrix_transform
\&               Full
\&  paste        Full
\&  polygon      Partial    [1]
\&  polyline     None
\&  read         Partial    See L<File format large sample support>
\&  read_multi   Partial    See L<File format large sample support>
\&  rotate       Full
\&  rubthrough   Full
\&  scale        Partial    Some qtypes support large samples
\&  scaleX       None
\&  scaleY       None
\&  setpixel     Full
\&  setscanline  Full
\&  string       Full       Preserves large samples, but most font drivers
\&                          generate 8 or fewer bits of levels of coverage.
\&  transform    None
\&  transform2   None
\&  write        Partial    See L<File format large sample support>
\&  write_multi  Partial    See L<File format large sample support>
.Ve
.PP
[1] filling an area using the fill parameter works at the full depth
of the image, using filled => 1 and color works at 8\-bits/sample
.PP
[2] \fBbox()\fR will fill the area at the supplied color, but outline at
8\-bits/sample.
.SH "File format large sample support"
.IX Header "File format large sample support"
.Vb 10
\&  Format    Format samples    Imager support
\&  \-\-\-\-\-\-    \-\-\-\-\-\-\-\-\-\-\-\-\-\-    \-\-\-\-\-\-\-\-\-\-\-\-\-\-
\&  BMP       8                 8
\&  GIF       8                 8
\&  ICO       8                 8
\&  JPEG      8, 12             8
\&  PBM       1                 1
\&  PGM/PPM   1\-16              read any, writes 8, 16
\&  PNG       1, 2, 4, 8, 16    1, 2, 4, 8 paletted
\&                              1, 8, 16 gray (1 for is_monochrome() images)
\&                              8, 16 RGB
\&  RAW                         8
\&  SGI       8, 16             8, 16
\&  TGA       8                 8
\&  TIFF      (many)            read/write 8, 16, 32 contig rgb/grey images
\&                              read/write bi\-level
\&                              read/write 4/8 paletted images
.Ve
.SH "Filter larger sample support"
.IX Header "Filter larger sample support"
.Vb 10
\&  Filter      Large sample support
\&  \-\-\-\-\-\-      \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
\&  autolevels      No
\&  bumpmap         No
\&  bumpmap_complex No
\&  contrast        No
\&  conv            Yes
\&  fountain        Yes
\&  gaussian        Yes
\&  gradgen         No
\&  hardinvert      Yes
\&  mosaic          No
\&  postlevels      No
\&  radnoise        No
\&  turbnoise       No
\&  unsharpmask     Yes
\&  watermark       No
.Ve
.SH "AUTHOR"
.IX Header "AUTHOR"
Tony Cook <tonyc@cpan.org>