Loading

image = ChunkyPNG::Image.from_file('filename.png')
image = ChunkyPNG::Image.from_blob(File.read('file.png'))
image = ChunkyPNG::Image.from_io(io) 

Saving

image.save('filename.png')
File.open('newfile.png', 'wb') { |io| image.write(io) }
binary_string = image.to_blob

Drawing

image[0, 0] = ChunkyPNG::Color.rgba(255, 0,0, 128)
image.line(1, 1, 10, 1, ChunkyPNG::Color.from_hex('#aa007f'))

Canvas

crop(x, y, w, h)

Transforms

new_image = image.flip_horizontally.rotate_right