Google

/*
 * Return a cropped copy of the image
 *
 * Examples:
 *   x, y, w, h = 10, 10, old_image.width - 10, old_image.height - 10
 *   new_image = old_image.crop x, y, w, h
 *
 *   rect = [10, 10, old_image.width - 10, old_image.height - 10]
 *   new_image = old_image.crop rect
 *
 *   x, y, w, h = 10, 10, old_image.width - 10, old_image.height - 10
 *   new_image = old_image.create_cropped x, y, w, h
 *
 *   rect = [10, 10, old_image.width - 10, old_image.height - 10]
 *   new_image = old_image.create_cropped rect
 *
 */
static VALUE image_crop(int argc, VALUE *argv, VALUE self) {