module ChunkyPNG::Canvas::PNGEncoding

def encode_png_scanline(filter, bytes, previous_bytes = nil, pixelsize = 3)

Returns:
  • (Array) - The filtered array of bytes.

Parameters:
  • pixelsize (Integer) -- The number of bytes per pixel.
  • previous_bytes (Array) -- The original bytes of the previous scanline.
  • bytes (Array) -- The scanline bytes to encode.
  • filter (Integer) -- The filter method to use.
def encode_png_scanline(filter, bytes, previous_bytes = nil, pixelsize = 3)
  case filter
  when ChunkyPNG::FILTER_NONE    then encode_png_scanline_none(    bytes, previous_bytes, pixelsize)
  when ChunkyPNG::FILTER_SUB     then encode_png_scanline_sub(     bytes, previous_bytes, pixelsize)
  when ChunkyPNG::FILTER_UP      then encode_png_scanline_up(      bytes, previous_bytes, pixelsize)
  when ChunkyPNG::FILTER_AVERAGE then encode_png_scanline_average( bytes, previous_bytes, pixelsize)
  when ChunkyPNG::FILTER_PAETH   then encode_png_scanline_paeth(   bytes, previous_bytes, pixelsize)
  else raise "Unknown filter type"
  end
end