func crop(image *vips.Image, ow, oh int) error { m := format.MetadataImage(image) // If we have nothing to do, return. if ow == m.Width && oh == m.Height { return nil } // Center horizontally x := (m.Width - ow + 1) / 2 // Assume faces are higher up vertically y := (m.Height - oh + 1) / 4 if x < 0 || y < 0 { panic("Bad crop offsets!") } return image.ExtractArea(m.Orientation.Crop(ow, oh, x, y, m.Width, m.Height)) }