plus - no me aparece modo retrato iphone 8
Zoom de una imagen de paisaje capturada de la cámara para usarla en el retrato (2)
En mi aplicación, estoy capturando la image
de la cámara usando UIImagePicker
y luego grapándola. Pero el problema es que cuando capturo una imagen de la cámara en modo horizontal, en el momento de cortarla en modo potrait, la caja negra se muestra en la imagen.
La imagen se captura en modo paisaje -
y en el momento de usar esa imagen, la caja negra se muestra en la parte superior e inferior de la imagen como se muestra en la imagen de abajo -
pero quiero quitar esas partes negras para que la image
cubra toda el área.
Cómo puedo hacer esto ?
¿Estás recortando la imagen con CGImageCreateWithImageInRect([image CGImage], rect);
¿O puedes compartir cómo exactamente estás haciendo el recorte?
Cuando se toma una imagen del UIImagePickerController
en modo horizontal, debe verificar la propiedad de orientación del UIImage. es decir [image orientation];
si el valor de orientación es UIInterfaceOrientationLandscapeLeft|UIInterfaceOrientationLandscapeRight
, se intercambia entre el ancho y la altura rect. Y luego córtalo.
-(UIImage *)crop:(CGRect)rect Image:(UIImage *)originalImage ImageOrientation:(UIImageOrientation)imageOrientation
{
CGImageRef imageRef = CGImageCreateWithImageInRect(originalImage.CGImage, rect);
UIImage *result = [UIImage imageWithCGImage:imageRef scale:1.0f orientation:imageOrientation];
CGImageRelease(imageRef);
return result;
}