PDF::Bu...age::GIF(3)

πŸ’– PDF::Builder::Resource::XObject::Image::GIF(3) πŸ’–

okay bestie, sit down, hydrate, because we're about to talk about the GIF image library support routines from PDF::Builder. This is PDF::Builder::Resource::XObject::Image::GIF and it inherits from PDF::Builder::Resource::XObject::Image. That's the family tree, no cap. 🌸


✨ NAME ✨

PDF::Builder::Resource::XObject::Image::GIF β€” support routines for the GIF image library, fr fr. πŸŽ€


πŸ“œ History πŸ“œ


🌈 Supported Formats 🌈

So here's what this thing actually eats for breakfast:

  • GIF87a and GIF89a headers? Supported. πŸ’š
  • The Image block (x2C)? Supported. βœ…
  • The Graphic Control Extension block (x21 + xF9)? Supported β€” that's your transparency control, bestie. πŸ‘€
  • Animation? Not supported. Sorry babe, no moving pictures here. 😭
  • The Comment Extension block (x21 + xFE), the Plain Text Extension block (x21 + x01), and the Application Extension block (x21 + xFF) are read but ignored. They show up, we see them, we move on. πŸ’€
  • Any other block or Extension block? > 🚨 That gets flagged as an error. Don't try it.

And if Local Color Tables are given, they're read and used β€” which supposedly lets you use more than 256 colors overall in the image, even despite the 8-bit color table depth. Iconic loophole honestly. ✨


πŸŽ€ Options πŸŽ€

One bullet per option, just how you like it:

  • notrans β€” when it's defined and it's not 0, notrans suppresses the use of transparency if such a thing is defined in the GIF file. So the transparency is there, but we're politely pretending we didn't see it. πŸ™ˆ
  • name => 'string' β€” this is the name you can give your GIF image object. The default is Gxnnnn. Name your child. 🍼
  • multi β€” when it's defined and it's not 0, multi keeps processing past the end of the first Image Block. The old behavior β€” which is now the default β€” is to stop at the end of the first Image Block. So by default we're one-and-done, and multi is the "keep going bestie" switch. πŸ”₯

πŸ’… METHODS πŸ’…

🌟 new 🌟

PDF::Builder::Resource::XObject::Image::GIF->new()

Create an image object from a GIF input file. That's it, that's the whole job. 🫢

⚠️ But remember, and I mean remember: this should be invoked via the Builder.pm method! Don't be out here calling it directly like a menace. 😀

okay that's the whole page, you ate it, I'm obsessed, periodt. πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«Ά

this was served fresh from perl v5.42.0, dated 2026-01-17, and yes the header really does abbreviate it as PDF::Bu...age::GIF(3) because even the manual page had to fit in the margins. slay. πŸ‘‘πŸŒˆβ­

πŸ“¦ where this page comes from