¿Hay alguna API de recorte de imágenes para el objetivo C que coseche dinámicamente imágenes en el proyecto de Xcode? Proporcione algunos trucos o técnicas sobre cómo puedo recortar las imágenes de la cámara en el iPhone.API de recortes de imágenes para iOS
Respuesta
Puede usar la infraestructura CoreGraphics para recortar imágenes dinámicamente. Aquí hay un código de ejemplo como parte del recorte dinámico de la imagen. Espero que esto sea útil para ti.
- (void)drawMaskLineSegmentTo:(CGPoint)ptTo withMaskWidth:(CGFloat)maskWidth inContext:(NXMaskDrawContext)context{
if (context == nil)
return;
if (context.count <= 0){
[context addObject:[NSValue valueWithCGPoint:ptTo]];
return;
}
CGPoint ptFrom = [context.lastObject CGPointValue];
UIGraphicsBeginImageContext(self.maskImage.size);
[self.maskImage drawInRect:CGRectMake(0, 0, self.maskImage.size.width, self.maskImage.size.height)];
CGContextRef graphicsContext = UIGraphicsGetCurrentContext();
CGContextSetBlendMode(graphicsContext, kCGBlendModeCopy);
CGContextSetRGBStrokeColor(graphicsContext, 1, 1, 1, 1);
CGContextSetLineWidth(graphicsContext, maskWidth);
CGContextSetLineCap(graphicsContext, kCGLineCapRound);
CGContextMoveToPoint(graphicsContext, ptFrom.x, ptFrom.y);
CGContextAddLineToPoint(graphicsContext, ptTo.x, ptTo.y);
CGContextStrokePath(graphicsContext);
self.maskImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIGraphicsBeginImageContext(self.displayableMaskImage.size);
[self.displayableMaskImage drawInRect:CGRectMake(0, 0, self.displayableMaskImage.size.width, self.displayableMaskImage.size.height)];
graphicsContext = UIGraphicsGetCurrentContext();
CGContextSetBlendMode(graphicsContext, kCGBlendModeCopy);
CGContextSetStrokeColorWithColor(graphicsContext, self.displayableMaskColor.CGColor);
CGContextSetLineWidth(graphicsContext, maskWidth);
CGContextSetLineCap(graphicsContext, kCGLineCapRound);
CGContextMoveToPoint(graphicsContext, ptFrom.x, ptFrom.y);
CGContextAddLineToPoint(graphicsContext, ptTo.x, ptTo.y);
CGContextStrokePath(graphicsContext);
self.displayableMaskImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[context addObject:[NSValue valueWithCGPoint:ptTo]];
}
Puede utilizar el siguiente código simple para recortar una imagen. Tienes que pasar la imagen y el CGRect que es el área de recorte. Aquí, recorte la imagen para que obtenga la parte central de la imagen original y la imagen devuelta sea cuadrada.
// Returns largest possible centered cropped image.
- (UIImage *)centerCropImage:(UIImage *)image
{
// Use smallest side length as crop square length
CGFloat squareLength = MIN(image.size.width, image.size.height);
// Center the crop area
CGRect clippedRect = CGRectMake((image.size.width - squareLength)/2, (image.size.height - squareLength)/2, squareLength, squareLength);
// Crop logic
CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], clippedRect);
UIImage * croppedImage = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
return croppedImage;
}
Xcode 5, iOS 7, y el ejemplo pantalla de 4 pulgadas: Aquí se presenta un ejemplo de código abierto de un SimpleImageCropEditor (Project Zip and Source Code Example. Puede cargar el editor de cultivos de imágenes como un controlador de vista modal y volver a utilizarlo. Mire el código y deje comentarios constructivos sobre si este código de ejemplo responde a la pregunta "Image Cropping API for iOS".
Demuestra, es el código Objective-C fuente de ejemplo, el uso de UIImagePickerController, @protocol, UIActionSheet, UIScrollView, UINavigationController, MFMailComposeViewController y UIGestureRecognizer.
Edición - Versión Swift
let imageView = UIImageView(image: image)
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
Todas estas soluciones parece bastante complicado y muchos de ellos realmente una degradación de la calidad de la imagen. Puede hacer mucho más simple usando los métodos de UIImageView
listos para usar.
Objective-C
self.imageView.contentMode = UIViewContentModeScaleAspectFill;
[self.imageView setClipsToBounds:YES];
[self.imageView setImage:img];
Esto recortar la imagen en función de las dimensiones que se ha fijado para su UIImageView
(He llamado a la mina imageView
aquí).
Es así de simple y funciona mucho mejor que las otras soluciones.
Creo que su respuesta simplemente cambia el tamaño de la imagen temporalmente dentro de los límites de 'UIImageView'. Si solo le preocupa mostrar la imagen, esto funcionará. Sin embargo, si, por ejemplo, necesita modificar la imagen antes de cargarla en un servidor, este enfoque no funcionaría en ese caso. – Andrew
Es cierto, pero ella/él está buscando una manera que "coseche imágenes dinámicamente", por lo que mi sugerencia es perfectamente correcta aquí. – sf89
- 1. Recortes de Visual Studio de terceros
- 2. Recortes de código de Visual Studio 2008 para otro idioma
- 3. API de PayPal para iOS: ¿permitido?
- 4. Recortes de código de Visual Studio Cursor
- 5. Reconocimiento de imágenes de la biblioteca/API de código iPhone
- 6. Cómo eliminar el recorte de proporción cuadrada para imágenes en IOS
- 7. ¿Qué biblioteca de almacenamiento en caché de imágenes para iOS?
- 8. Forzar la carga de imágenes en iOS para precargar
- 9. iOS Giroscopio API
- 10. API para el escáner de código de barras IOS PDF417
- 11. iOS extrayendo cuadros de video como imágenes
- 12. iOS iniciar imágenes tipo de archivo
- 13. Documentación de API privada de iOS
- 14. ¿Hay una API para la función táctil asistida de iOS?
- 15. iOS 5 "Centro de notificaciones" API?
- 16. iOS API detectar redes inalámbricas
- 17. Para convertir imágenes a dibujos animados en ios
- 18. Agrupación de imágenes de retina solo en aplicaciones de iOS
- 19. Uso de ASP.NET Web API como servicio de imágenes
- 20. ¿Hay servicios de alojamiento de imágenes con una API pública?
- 21. iOS: procesamiento de imágenes de 2 pasos con CoreGraphics
- 22. ¿Necesita una API de etiquetado automático de imágenes, alguna sugerencia?
- 23. ¿Cuál es la mejor API de búsqueda de imágenes web?
- 24. ¿Hay una API para POP/IMAP en iOS?
- 25. Desvanecimiento en imágenes cargadas sincronizadas en iOS
- 26. api para mostrar la calculadora nativa en la aplicación iOS
- 27. [iPhone - iOS] Necesito QRCode Reader API para iPhone
- 28. Obtener texto de la imagen en ios (procesamiento de imágenes)
- 29. ¿Cómo se evita la duplicación de imágenes en la galería de imágenes del dispositivo iOS?
- 30. Necesito ayuda en Bump Api enviando imágenes
Brilliant! Funciona como una brisa en iOS 7. ¡Gracias! –