Imager...amples(3pm)

πŸ’– NAME πŸ’–

okay so bestie, this is the 3pm manual page for Imager::LargeSamples from User Contributed Perl Documentation, and it's lowkey a tracking doc for track/document large sample support, periodt. πŸ’…


✨ SYNOPSIS ✨

the whole vibe is: make a large sample image, call a method, then check if the image got modified at its full sample size. it's giving main character energy, ngl:

  # 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

iykyk πŸ’…


🌸 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. 😭

This document will track which methods support large samples and which don't, for future improvements. no cap, it's literally a support tracker and we're obsessed with the detail. 🫢


🫢 Support by method 🫢

vibe check time, bestie β€” here's every single method and whether large samples get the love:

  • arc β€” support: Partial β€” note [1].
  • box β€” support: Partial β€” note [2].
  • circle β€” support: Partial β€” note [1].
  • convert β€” support: Full.
  • copy β€” support: Full.
  • crop β€” support: Full.
  • difference β€” support: Full.
  • filter β€” support: Partial β€” note: Depends on the filter.
  • flip β€” support: Full.
  • flood_fill β€” support: Partial β€” note [1].
  • getpixel β€” support: Full.
  • getsamples β€” support: Full.
  • getscanline β€” support: Full.
  • map β€” support: None.
  • masked β€” support: Full.
  • matrix_transform β€” support: Full.
  • paste β€” support: Full.
  • polygon β€” support: Partial β€” note [1].
  • polyline β€” support: None.
  • read β€” support: Partial β€” see L<File format large sample support>.
  • read_multi β€” support: Partial β€” see L<File format large sample support>.
  • rotate β€” support: Full.
  • rubthrough β€” support: Full.
  • scale β€” support: Partial β€” note: Some qtypes support large samples.
  • scaleX β€” support: None.
  • scaleY β€” support: None.
  • setpixel β€” support: Full.
  • setscanline β€” support: Full.
  • string β€” support: Full β€” note: Preserves large samples, but most font drivers generate 8 or fewer bits of levels of coverage.
  • transform β€” support: None.
  • transform2 β€” support: None.
  • write β€” support: Partial β€” see L<File format large sample support>.
  • write_multi β€” support: Partial β€” see L<File format large sample support>.

and the footnotes, because details matter, bestie:

  • [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.
  • [2] box() will fill the area at the supplied color, but outline at 8-bits/sample.

πŸ¦‹ File format large sample support πŸ¦‹

format support is its own little saga, so here's the tea by file format:

  • BMP β€” format samples: 8; Imager support: 8.
  • GIF β€” format samples: 8; Imager support: 8.
  • ICO β€” format samples: 8; Imager support: 8.
  • JPEG β€” format samples: 8, 12; Imager support: 8.
  • PBM β€” format samples: 1; Imager support: 1.
  • PGM/PPM β€” format samples: 1-16; Imager support: read any, writes 8, 16.
  • PNG β€” format samples: 1, 2, 4, 8, 16; Imager support: 1, 2, 4, 8 paletted, 1, 8, 16 gray (1 for is_monochrome() images), 8, 16 RGB.
  • RAW β€” format samples: (empty in the original); Imager support: 8.
  • SGI β€” format samples: 8, 16; Imager support: 8, 16.
  • TGA β€” format samples: 8; Imager support: 8.
  • TIFF β€” format samples: (many); Imager support: read/write 8, 16, 32 contig rgb/grey images, read/write bi-level, read/write 4/8 paletted images.

these formats really said "we contain multitudes," and honestly? iconic. 🌈


πŸŽ€ Filter larger sample support πŸŽ€

and the filter lineup, because filters deserve their own moment:

  • autolevels β€” large sample support: No.
  • bumpmap β€” large sample support: No.
  • bumpmap_complex β€” large sample support: No.
  • contrast β€” large sample support: No.
  • conv β€” large sample support: Yes.
  • fountain β€” large sample support: Yes.
  • gaussian β€” large sample support: Yes.
  • gradgen β€” large sample support: No.
  • hardinvert β€” large sample support: Yes.
  • mosaic β€” large sample support: No.
  • postlevels β€” large sample support: No.
  • radnoise β€” large sample support: No.
  • turbnoise β€” large sample support: No.
  • unsharpmask β€” large sample support: Yes.
  • watermark β€” large sample support: No.

the yes-girlies ate, the no-girlies are still on their journey. πŸ™ˆπŸ’…


πŸ‘‘ AUTHOR πŸ‘‘

Tony Cook <tonyc@cpan.org> β€” icon behavior, honestly. 🫢


mwah πŸ’– this cutie is from perl v5.42.3, dated 2026-08-19, and it's the Imager::LargeSamples(3pm) page β€” love u, bye! 🫢✨

πŸ“¦ where this page comes from