Google

/*
 * Crop and scale an image
 *
 * Examples:
 *   iw, ih = image.width, image.height
 *   new_w, new_h = iw - 20, ih - 20
 *   x, y, w, h = 10, 10, iw - 10, ih - 10
 *   image.crop_scaled! x, y, w, h, new_w, new_h
 *
 *   iw, ih = image.width, image.height
 *   new_w, new_h = iw - 20, ih - 20
 *   values = [10, 10, iw - 10, iw - 10, new_w, new_h]
 *   image.crop_scaled! values
 *
 *   iw, ih = image.width, image.height
 *   new_w, new_h = iw - 20, ih - 20
 *   x, y, w, h = 10, 10, iw - 10, ih - 10
 *   image.create_crop_scaled! x, y, w, h, new_w, new_h
 *
 *   iw, ih = image.width, image.height
 *   new_w, new_h = iw - 20, ih - 20
 *   values = [10, 10, iw - 10, iw - 10, new_w, new_h]
 *   image.create_crop_scaled! values
 *
 */
static VALUE image_crop_scaled_inline(int argc, VALUE *argv, VALUE self) {