Image:...::Const(3pm)

🌸 NAME 🌸

okay so this is Image:...::Const(3pm), a User Contributed Perl Documentation page, and it's giving constants-only main character energy πŸ’…

Image::PNG::Const β€” Constants for libpng. That's the whole name, bestie β€” no functions hiding in here, just constants.


✨ SYNOPSIS ✨

# Get just the constants you need:
use Image::PNG::Const qw/PNG_TRANSFORM_INVERT_ALPHA
                         PNG_COLOR_MASK_ALPHA/;
# Get everything:
use Image::PNG::Const ':all';

This module is a helper for Image::PNG::Libpng. It contains no functions β€” only constants, and honestly that's the vibe 🫢


πŸ’… CONSTANTS πŸ’…

This file contains the following constants, straight from the header file of the PNG library, png.h β€” here's the whole iconic lineup:

  • PNG_AFTER_IDAT β€” has value 0x08.
  • PNG_ALL_FILTERS β€” has value ((0x08 | 0x10 | 0x20) | 0x40 | 0x80).
  • PNG_ALL_MNG_FEATURES β€” has value 0x05.
  • PNG_ALPHA_ASSOCIATED β€” has value 1.
  • PNG_ALPHA_BROKEN β€” has value 3.
  • PNG_ALPHA_OPTIMIZED β€” has value 2.
  • PNG_ALPHA_PNG β€” has value 0.
  • PNG_ALPHA_PREMULTIPLIED β€” has value 1.
  • PNG_ALPHA_STANDARD β€” has value 1.
  • PNG_ARM_NEON β€” has value 0.
  • PNG_BACKGROUND_GAMMA_FILE β€” has value 2.
  • PNG_BACKGROUND_GAMMA_SCREEN β€” has value 1.
  • PNG_BACKGROUND_GAMMA_UNIQUE β€” has value 3.
  • PNG_BACKGROUND_GAMMA_UNKNOWN β€” has value 0.
  • PNG_BLEND_OP_OVER β€” has value 0x01.
  • PNG_BLEND_OP_SOURCE β€” has value 0x00.
  • PNG_COLOR_MASK_ALPHA β€” has value 4.
  • PNG_COLOR_MASK_COLOR β€” has value 2.
  • PNG_COLOR_MASK_PALETTE β€” has value 1.
  • PNG_COLOR_TYPE_GA β€” has value (4).
  • PNG_COLOR_TYPE_GRAY β€” has value 0.
  • PNG_COLOR_TYPE_GRAY_ALPHA β€” has value (4).
  • PNG_COLOR_TYPE_PALETTE β€” has value (2 | 1).
  • PNG_COLOR_TYPE_RGB β€” has value (2).
  • PNG_COLOR_TYPE_RGBA β€” has value (2 | 4).
  • PNG_COLOR_TYPE_RGB_ALPHA β€” has value (2 | 4).
  • PNG_COMPRESSION_TYPE_BASE β€” has value 0.
  • PNG_COMPRESSION_TYPE_DEFAULT β€” has value 0.
  • PNG_CRC_DEFAULT β€” has value 0.
  • PNG_CRC_ERROR_QUIT β€” has value 1.
  • PNG_CRC_NO_CHANGE β€” has value 5.
  • PNG_CRC_QUIET_USE β€” has value 4.
  • PNG_CRC_WARN_DISCARD β€” has value 2.
  • PNG_CRC_WARN_USE β€” has value 3.
  • PNG_DEFAULT_sRGB β€” has value -1.
  • PNG_DISPOSE_OP_BACKGROUND β€” has value 0x01.
  • PNG_DISPOSE_OP_NONE β€” has value 0x00.
  • PNG_DISPOSE_OP_PREVIOUS β€” has value 0x02.
  • PNG_EQUATION_ARBITRARY β€” has value 2.
  • PNG_EQUATION_BASE_E β€” has value 1.
  • PNG_EQUATION_HYPERBOLIC β€” has value 3.
  • PNG_EQUATION_LINEAR β€” has value 0.
  • PNG_ERROR_ACTION_ERROR β€” has value 3.
  • PNG_ERROR_ACTION_NONE β€” has value 1.
  • PNG_ERROR_ACTION_WARN β€” has value 2.
  • PNG_FAST_FILTERS β€” has value (0x08 | 0x10 | 0x20).
  • PNG_FILLER_AFTER β€” has value 1.
  • PNG_FILLER_BEFORE β€” has value 0.
  • PNG_FILTER_AVG β€” has value 0x40.
  • PNG_FILTER_HEURISTIC_DEFAULT β€” has value 0.
  • PNG_FILTER_HEURISTIC_UNWEIGHTED β€” has value 1.
  • PNG_FILTER_HEURISTIC_WEIGHTED β€” has value 2.
  • PNG_FILTER_NONE β€” has value 0x08.
  • PNG_FILTER_PAETH β€” has value 0x80.
  • PNG_FILTER_SUB β€” has value 0x10.
  • PNG_FILTER_TYPE_BASE β€” has value 0.
  • PNG_FILTER_TYPE_DEFAULT β€” has value 0.
  • PNG_FILTER_UP β€” has value 0x20.
  • PNG_FILTER_VALUE_AVG β€” has value 3.
  • PNG_FILTER_VALUE_NONE β€” has value 0.
  • PNG_FILTER_VALUE_PAETH β€” has value 4.
  • PNG_FILTER_VALUE_SUB β€” has value 1.
  • PNG_FILTER_VALUE_UP β€” has value 2.
  • PNG_FLAG_MNG_EMPTY_PLTE β€” has value 0x01.
  • PNG_FLAG_MNG_FILTER_64 β€” has value 0x04.
  • PNG_FORMAT_ABGR β€” has value (((0x02|0x10)|0x01)|0x20).
  • PNG_FORMAT_ABGR_COLORMAP β€” has value ((((0x02|0x10)|0x01)|0x20)|0x08).
  • PNG_FORMAT_AG β€” has value (0x01|0x20).
  • PNG_FORMAT_ARGB β€” has value ((0x02|0x01)|0x20).
  • PNG_FORMAT_ARGB_COLORMAP β€” has value (((0x02|0x01)|0x20)|0x08).
  • PNG_FORMAT_BGR β€” has value (0x02|0x10).
  • PNG_FORMAT_BGRA β€” has value ((0x02|0x10)|0x01).
  • PNG_FORMAT_BGRA_COLORMAP β€” has value (((0x02|0x10)|0x01)|0x08).
  • PNG_FORMAT_BGR_COLORMAP β€” has value ((0x02|0x10)|0x08).
  • PNG_FORMAT_FLAG_AFIRST β€” has value 0x20.
  • PNG_FORMAT_FLAG_ALPHA β€” has value 0x01.
  • PNG_FORMAT_FLAG_ASSOCIATED_ALPHA β€” has value 0x40.
  • PNG_FORMAT_FLAG_BGR β€” has value 0x10.
  • PNG_FORMAT_FLAG_COLOR β€” has value 0x02.
  • PNG_FORMAT_FLAG_COLORMAP β€” has value 0x08.
  • PNG_FORMAT_FLAG_LINEAR β€” has value 0x04.
  • PNG_FORMAT_GA β€” has value 0x01.
  • PNG_FORMAT_GRAY β€” has value 0.
  • PNG_FORMAT_LINEAR_RGB β€” has value (0x04|0x02).
  • PNG_FORMAT_LINEAR_Y β€” has value 0x04.
  • PNG_FORMAT_LINEAR_Y_ALPHA β€” has value (0x04|0x01).
  • PNG_FORMAT_RGB β€” has value 0x02.
  • PNG_FORMAT_RGBA β€” has value (0x02|0x01).
  • PNG_FORMAT_RGBA_COLORMAP β€” has value ((0x02|0x01)|0x08).
  • PNG_FORMAT_RGB_COLORMAP β€” has value (0x02|0x08).
  • PNG_FP_1 β€” has value 100000.
  • PNG_FP_HALF β€” has value 50000.
  • PNG_FP_MIN β€” has value (-PNG_FP_MAX).
  • PNG_FREE_ALL β€” has value 0xffff.
  • PNG_FREE_EXIF β€” has value 0x8000.
  • PNG_FREE_HIST β€” has value 0x0008.
  • PNG_FREE_ICCP β€” has value 0x0010.
  • PNG_FREE_MUL β€” has value 0x4220.
  • PNG_FREE_PCAL β€” has value 0x0080.
  • PNG_FREE_PLTE β€” has value 0x1000.
  • PNG_FREE_ROWS β€” has value 0x0040.
  • PNG_FREE_SCAL β€” has value 0x0100.
  • PNG_FREE_SPLT β€” has value 0x0020.
  • PNG_FREE_TEXT β€” has value 0x4000.
  • PNG_FREE_TRNS β€” has value 0x2000.
  • PNG_FREE_UNKN β€” has value 0x0200.
  • PNG_GAMMA_LINEAR β€” has value 100000.
  • PNG_GAMMA_MAC_18 β€” has value -2.
  • PNG_GAMMA_THRESHOLD β€” has value (PNG_GAMMA_THRESHOLD_FIXED*.00001).
  • PNG_GAMMA_sRGB β€” has value 220000.
  • PNG_HANDLE_CHUNK_ALWAYS β€” has value 3.
  • PNG_HANDLE_CHUNK_AS_DEFAULT β€” has value 0.
  • PNG_HANDLE_CHUNK_IF_SAFE β€” has value 2.
  • PNG_HANDLE_CHUNK_NEVER β€” has value 1.
  • PNG_HAVE_IHDR β€” has value 0x01.
  • PNG_HAVE_PLTE β€” has value 0x02.
  • PNG_IGNORE_ADLER32 β€” has value 8.
  • PNG_IMAGE_ERROR β€” has value 2.
  • PNG_IMAGE_FLAG_16BIT_sRGB β€” has value 0x04.
  • PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB β€” has value 0x01.
  • PNG_IMAGE_FLAG_FAST β€” has value 0x02.
  • PNG_IMAGE_VERSION β€” has value 1.
  • PNG_IMAGE_WARNING β€” has value 1.
  • PNG_INFO_IDAT β€” has value 0x8000.
  • PNG_INFO_PLTE β€” has value 0x0008.
  • PNG_INFO_acTL β€” has value 0x100000.
  • PNG_INFO_bKGD β€” has value 0x0020.
  • PNG_INFO_cHRM β€” has value 0x0004.
  • PNG_INFO_cICP β€” has value 0x20000.
  • PNG_INFO_cLLI β€” has value 0x40000.
  • PNG_INFO_eXIf β€” has value 0x10000.
  • PNG_INFO_fcTL β€” has value 0x200000.
  • PNG_INFO_fdAT β€” has value 0x400000.
  • PNG_INFO_gAMA β€” has value 0x0001.
  • PNG_INFO_hIST β€” has value 0x0040.
  • PNG_INFO_iCCP β€” has value 0x1000.
  • PNG_INFO_mDCV β€” has value 0x80000.
  • PNG_INFO_oFFs β€” has value 0x0100.
  • PNG_INFO_pCAL β€” has value 0x0400.
  • PNG_INFO_pHYs β€” has value 0x0080.
  • PNG_INFO_sBIT β€” has value 0x0002.
  • PNG_INFO_sCAL β€” has value 0x4000.
  • PNG_INFO_sPLT β€” has value 0x2000.
  • PNG_INFO_sRGB β€” has value 0x0800.
  • PNG_INFO_tIME β€” has value 0x0200.
  • PNG_INFO_tRNS β€” has value 0x0010.
  • PNG_INTERLACE_ADAM7 β€” has value 1.
  • PNG_INTERLACE_ADAM7_PASSES β€” has value 7.
  • PNG_INTERLACE_NONE β€” has value 0.
  • PNG_INTRAPIXEL_DIFFERENCING β€” has value 64.
  • PNG_IO_CHUNK_CRC β€” has value 0x0080.
  • PNG_IO_CHUNK_DATA β€” has value 0x0040.

part 1 stops here at PNG_IO_CHUNK_DATA β€” part 2 is literally right behind this with the rest of the constants ✨

  • PNG_IO_CHUNK_HDR β€” PNG_IO_CHUNK_HDR has value 0x0020.
  • PNG_IO_MASK_LOC β€” PNG_IO_MASK_LOC has value 0x00f0.
  • PNG_IO_MASK_OP β€” PNG_IO_MASK_OP has value 0x000f.
  • PNG_IO_NONE β€” PNG_IO_NONE has value 0x0000.
  • PNG_IO_READING β€” PNG_IO_READING has value 0x0001.
  • PNG_IO_SIGNATURE β€” PNG_IO_SIGNATURE has value 0x0010.
  • PNG_IO_WRITING β€” PNG_IO_WRITING has value 0x0002.
  • PNG_ITXT_COMPRESSION_NONE β€” PNG_ITXT_COMPRESSION_NONE has value 1.
  • PNG_ITXT_COMPRESSION_zTXt β€” PNG_ITXT_COMPRESSION_zTXt has value 2.
  • PNG_KEYWORD_MAX_LENGTH β€” PNG_KEYWORD_MAX_LENGTH has value 79.
  • PNG_MAXIMUM_INFLATE_WINDOW β€” PNG_MAXIMUM_INFLATE_WINDOW has value 2.
  • PNG_MAX_PALETTE_LENGTH β€” PNG_MAX_PALETTE_LENGTH has value 256.
  • PNG_MIPS_MMI β€” PNG_MIPS_MMI has value 12.
  • PNG_MIPS_MSA β€” PNG_MIPS_MSA has value 6.
  • PNG_NO_FILTERS β€” PNG_NO_FILTERS has value 0x00.
  • PNG_OFFSET_MICROMETER β€” PNG_OFFSET_MICROMETER has value 1.
  • PNG_OFFSET_PIXEL β€” PNG_OFFSET_PIXEL has value 0.
  • PNG_OPTION_INVALID β€” PNG_OPTION_INVALID has value 1.
  • PNG_OPTION_NEXT β€” PNG_OPTION_NEXT has value 16.
  • PNG_OPTION_OFF β€” PNG_OPTION_OFF has value 2.
  • PNG_OPTION_ON β€” PNG_OPTION_ON has value 3.
  • PNG_OPTION_UNSET β€” PNG_OPTION_UNSET has value 0.
  • PNG_POWERPC_VSX β€” PNG_POWERPC_VSX has value 10.
  • PNG_RESOLUTION_METER β€” PNG_RESOLUTION_METER has value 1.
  • PNG_RESOLUTION_UNKNOWN β€” PNG_RESOLUTION_UNKNOWN has value 0.
  • PNG_RGB_TO_GRAY_DEFAULT β€” PNG_RGB_TO_GRAY_DEFAULT has value (-1).
  • PNG_RISCV_RVV β€” PNG_RISCV_RVV has value 14.
  • PNG_SCALE_METER β€” PNG_SCALE_METER has value 1.
  • PNG_SCALE_RADIAN β€” PNG_SCALE_RADIAN has value 2.
  • PNG_SCALE_UNKNOWN β€” PNG_SCALE_UNKNOWN has value 0.
  • PNG_SKIP_sRGB_CHECK_PROFILE β€” PNG_SKIP_sRGB_CHECK_PROFILE has value 4.
  • PNG_TEXT_COMPRESSION_NONE β€” PNG_TEXT_COMPRESSION_NONE has value -1.
  • PNG_TEXT_COMPRESSION_NONE_WR β€” PNG_TEXT_COMPRESSION_NONE_WR has value -3.
  • PNG_TEXT_COMPRESSION_zTXt β€” PNG_TEXT_COMPRESSION_zTXt has value 0.
  • PNG_TEXT_COMPRESSION_zTXt_WR β€” PNG_TEXT_COMPRESSION_zTXt_WR has value -2.
  • PNG_TRANSFORM_BGR β€” PNG_TRANSFORM_BGR has value 0x0080.
  • PNG_TRANSFORM_EXPAND β€” PNG_TRANSFORM_EXPAND has value 0x0010.
  • PNG_TRANSFORM_EXPAND_16 β€” PNG_TRANSFORM_EXPAND_16 has value 0x4000.
  • PNG_TRANSFORM_GRAY_TO_RGB β€” PNG_TRANSFORM_GRAY_TO_RGB has value 0x2000.
  • PNG_TRANSFORM_IDENTITY β€” PNG_TRANSFORM_IDENTITY has value 0x0000.
  • PNG_TRANSFORM_INVERT_ALPHA β€” PNG_TRANSFORM_INVERT_ALPHA has value 0x0400.
  • PNG_TRANSFORM_INVERT_MONO β€” PNG_TRANSFORM_INVERT_MONO has value 0x0020.
  • PNG_TRANSFORM_PACKING β€” PNG_TRANSFORM_PACKING has value 0x0004.
  • PNG_TRANSFORM_PACKSWAP β€” PNG_TRANSFORM_PACKSWAP has value 0x0008.
  • PNG_TRANSFORM_SCALE_16 β€” PNG_TRANSFORM_SCALE_16 has value 0x8000.
  • PNG_TRANSFORM_SHIFT β€” PNG_TRANSFORM_SHIFT has value 0x0040.
  • PNG_TRANSFORM_STRIP_16 β€” PNG_TRANSFORM_STRIP_16 has value 0x0001.
  • PNG_TRANSFORM_STRIP_ALPHA β€” PNG_TRANSFORM_STRIP_ALPHA has value 0x0002.
  • PNG_TRANSFORM_STRIP_FILLER β€” PNG_TRANSFORM_STRIP_FILLER has value 0x0800.
  • PNG_TRANSFORM_STRIP_FILLER_AFTER β€” PNG_TRANSFORM_STRIP_FILLER_AFTER has value 0x1000.
  • PNG_TRANSFORM_STRIP_FILLER_BEFORE β€” PNG_TRANSFORM_STRIP_FILLER_BEFORE has value 0x0800. (yep bestie, same number as PNG_TRANSFORM_STRIP_FILLER up there, i'm literally just reading the page πŸ‘€)
  • PNG_TRANSFORM_SWAP_ALPHA β€” PNG_TRANSFORM_SWAP_ALPHA has value 0x0100.
  • PNG_TRANSFORM_SWAP_ENDIAN β€” PNG_TRANSFORM_SWAP_ENDIAN has value 0x0200.
  • PNG_sRGB_INTENT_ABSOLUTE β€” PNG_sRGB_INTENT_ABSOLUTE has value 3.
  • PNG_sRGB_INTENT_PERCEPTUAL β€” PNG_sRGB_INTENT_PERCEPTUAL has value 0.
  • PNG_sRGB_INTENT_RELATIVE β€” PNG_sRGB_INTENT_RELATIVE has value 1.
  • PNG_sRGB_INTENT_SATURATION β€” PNG_sRGB_INTENT_SATURATION has value 2.

🌈 EXPORTS 🌈

Okay so nothing is exported by default β€” like, zero, nada, the module keeps all its little symbols to itself unless you ask nicely πŸŽ€

But!! every single symbol in this module can be exported on request. And there's exactly one export tag, called 'all', which β€” you guessed it β€” exports all the symbols in this module ✨

use Image::PNG::Const ':all';

That's it. That's the whole vibe. One tag, everything comes out to play 🫢


πŸ¦‹ ABOUT THIS MODULE πŸ¦‹

This Perl module was generated from the file png.h supplied with version 1.6.45 of libpng. So like, it didn't get hand-typed by a person drinking matcha β€” it was generated from the header πŸ’… iykyk


πŸ‘‘ AUTHOR πŸ‘‘

Ben Bullock, <benkasminbullock@gmail.com> β€” shoutout to the icon who made all these constants exist for us πŸ˜­πŸ’–


This package and associated files are copyright (C) 2011-2026 Ben Bullock.

You can use, copy, modify and redistribute this package and associated files under the Perl Artistic Licence or the GNU General Public Licence. Pick your fighter, bestie, both are legit 🌸


and that's the whole page!! every constant accounted for, no cap, not a single one left behind πŸ§šπŸ’«

perl v5.42.3 Β· 2026-08-19 β€” mwah, that's the source, version and date right there, go off calendar πŸŽ€πŸ«Άβœ¨

πŸ“¦ where this page comes from