module ChunkyPNG::Canvas::PNGEncoding

def encode_png_scanline_average(original_bytes, previous_bytes, pixelsize = 3)

Parameters:
  • () --
def encode_png_scanline_average(original_bytes, previous_bytes, pixelsize = 3)
  encoded_bytes = []
  for index in 0...original_bytes.length do
    a = (index >= pixelsize) ? original_bytes[index - pixelsize] : 0
    b = previous_bytes[index]
    encoded_bytes[index] = (original_bytes[index] - ((a + b) >> 1)) % 256
  end
  [ChunkyPNG::FILTER_AVERAGE] + encoded_bytes
end