Class ChunkyPNG::Chunk::Transparency
In: lib/chunky_png/chunk.rb
Parent: Generic

A transparency (tRNS) chunk defines the transparency for an image.

  • For indexed images, it contains the alpha channel for the colors defined in the Palette (PLTE) chunk.
  • For grayscale images, it contains the grayscale teint that should be considered fully transparent.
  • For truecolor images, it contains the color that should be considered fully transparent.

Images having a color mode that already includes an alpha channel, this chunk should not be included.

@see ChunkyPNG::Chunk::Palette @see ChunkyPNG::Palette

Methods

Public Instance methods

Returns the grayscale entry to be replaced by transparent pixels.

This method should only be used for images having color mode ChunkyPNG::COLOR_GRAYSCALE (0).

@return [Integer] The (grayscale) color to replace with fully transparent pixels.

[Source]

     # File lib/chunky_png/chunk.rb, line 216
216:       def grayscale_entry(bit_depth)
217:         value = ChunkyPNG::Canvas.send("decode_png_resample_#{bit_depth}bit_value""decode_png_resample_#{bit_depth}bit_value", content.unpack('n')[0])
218:         ChunkyPNG::Color.grayscale(value)
219:       end

Returns the alpha channel for the palette of an indexed image.

This method should only be used for images having color mode ChunkyPNG::COLOR_INDEXED (3).

@return [Array<Integer>] Returns an array of alpha channel values [0-255].

[Source]

     # File lib/chunky_png/chunk.rb, line 197
197:       def palette_alpha_channel
198:         content.unpack('C*')
199:       end

Returns the truecolor entry to be replaced by transparent pixels,

This method should only be used for images having color mode ChunkyPNG::COLOR_TRUECOLOR (2).

@return [Integer] The color to replace with fully transparent pixels.

[Source]

     # File lib/chunky_png/chunk.rb, line 206
206:       def truecolor_entry(bit_depth)
207:         values = content.unpack('nnn').map { |c| ChunkyPNG::Canvas.send("decode_png_resample_#{bit_depth}bit_value""decode_png_resample_#{bit_depth}bit_value", c) }
208:         ChunkyPNG::Color.rgb(*values)
209:       end

[Validate]