# File lib/png.rb, line 482
    def extract x0, y0, x1, y1
      canvas = Canvas.new(x1-x0+1, y1-y0+1)

      (x0..x1).each_with_index do |x2, x3|
        (y0..y1).each_with_index do |y2, y3|
          canvas[x3, y3] = self[x2, y2]
        end
      end

      canvas
    end