Problemas con recortar un UIImage en Swift

Estoy escribiendo una aplicación que toma una image y recorta todo excepto un rectángulo en el centro de la image. (SWIFT) No puedo hacer funcionar la function de recorte. Esto es lo que tengo ahora:

func cropImageToBars(image: UIImage) -> UIImage { let crop = CGRectMake(0, 200, image.size.width, 50) let cgImage = CGImageCreateWithImageInRect(image.CGImage, crop) let result: UIImage = UIImage(CGImage: cgImage!, scale: 0, orientation: image.imageOrientation) UIImageWriteToSavedPhotosAlbum(result, self, nil, nil) return result } 

He visto muchas guías diferentes, pero ninguna de ellas parece funcionar para mí. A veces la image gira 90 grados, no tengo idea de por qué lo hace.

Si desea utilizar una extensión, simplemente agreguela al file, al principio o al final. Puede crear un file adicional para dicho código.

Swift 3.0

 extension UIImage { func crop( rect: CGRect) -> UIImage { var rect = rect rect.origin.x*=self.scale rect.origin.y*=self.scale rect.size.width*=self.scale rect.size.height*=self.scale let imageRef = self.cgImage!.cropping(to: rect) let image = UIImage(cgImage: imageRef!, scale: self.scale, orientation: self.imageOrientation) return image } } let myImage = UIImage(named: "Name") myImage?.crop(rect: CGRect(x: 0, y: 0, width: 50, height: 50)) 

para recortar una porción central de una image:

 let imageWidth = 100.0 let imageHeight = 100.0 let width = 50.0 let height = 50.0 let origin = CGPoint(x: (imageWidth - width)/2, y: (imageHeight - height)/2) let size = CGSize(width: width, height: height) myImage?.crop(rect: CGRect(origin: origin, size: size)) 
    Intereting Posts