ios swift uiimage

ios - uiimageview set image swift



¿Cómo recorto un UIImage en Swift? (2)

Qué tal esto

func cropImageToBars(image: UIImage) -> UIImage { let rect = CGRectMake(0, 200, image.size.width, 23) UIGraphicsBeginImageContextWithOptions(rect.size, false, 0) defer{ UIGraphicsEndImageContext() } flipContextVertically(rect.size) let cgImage = CGImageCreateWithImageInRect(image.CGImage, rect)! return UIImage(CGImage: cgImage) } func flipContextVertically(contentSize:CGSize){ var transform = CGAffineTransformIdentity transform = CGAffineTransformScale(transform, 1, -1) transform = CGAffineTransformTranslate(transform, 0, -contentSize.height) CGContextConcatCTM(UIGraphicsGetCurrentContext(), transform) }

EDITAR Flipped la coordenada CG para que coincida con UIKit.

Quiero escribir una función en Swift que tome una imagen y recoja todo excepto una delgada horizontal como en el medio. No quiero preservar la relación de aspecto.

Esto es lo que tengo hasta ahora, pero no funciona como yo quiero. Solo quiero preservar los píxeles de y = 276 a y = 299.

func cropImageToBars(image: UIImage) -> UIImage { let rect = CGRectMake(0, 200, image.size.width, 23) UIGraphicsBeginImageContextWithOptions(rect.size, false, 1.0) image.drawInRect(rect) let newImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return newImage

}


Tu código hace esto al revés. El método UIImage drawInRect () dibuja toda la imagen en el rectángulo de destino. Piense en ello como una ampliadora de películas o un proyector de diapositivas. Ajusta el tamaño y la forma de la caja en la que representa la imagen. Configura un contexto de imagen que es como una película que captura un poco de la imagen.

Por lo general, desea representar la imagen en un rectángulo del tamaño completo de la imagen, con su origen desplazado de modo que un contexto de imagen con un origen en 0 capture el bit deseado de la imagen.

Tengo un proyecto de demostración llamado CropImg que muestra cómo recortar partes de una imagen. Tiene una interfaz de usuario que permite al usuario seleccionar una sección de la imagen. Su caso es más simple, pero debería darle la idea.