¿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. Recortes de código de Visual Studio Cursor
- 4. API de PayPal para iOS: ¿permitido?
- 5. Cómo eliminar el recorte de proporción cuadrada para imágenes en IOS
- 6. Reconocimiento de imágenes de la biblioteca/API de código iPhone
- 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 extrayendo cuadros de video como imágenes
- 10. iOS Giroscopio API
- 11. iOS iniciar imágenes tipo de archivo
- 12. API para el escáner de código de barras IOS PDF417
- 13. Documentación de API privada de iOS
- 14. ¿Hay una API para la función táctil asistida de iOS?
- 15. ¿Existe una API de YouTube RESTful para iOS?
- 16. iOS 5 "Centro de notificaciones" API?
- 17. iOS API detectar redes inalámbricas
- 18. Para convertir imágenes a dibujos animados en ios
- 19. Agrupación de imágenes de retina solo en aplicaciones de iOS
- 20. Facebook API para Mac Aplicación
- 21. iOS: procesamiento de imágenes de 2 pasos con CoreGraphics
- 22. Uso de ASP.NET Web API como servicio de imágenes
- 23. ¿Hay servicios de alojamiento de imágenes con una API pública?
- 24. ¿Necesita una API de etiquetado automático de imágenes, alguna sugerencia?
- 25. Desvanecimiento en imágenes cargadas sincronizadas en iOS
- 26. Obtener texto de la imagen en ios (procesamiento de imágenes)
- 27. ¿Cuál es la mejor API de búsqueda de imágenes web?
- 28. ¿Hay una API para POP/IMAP en iOS?
- 29. [iPhone - iOS] Necesito QRCode Reader API para iPhone
- 30. api para mostrar la calculadora nativa en la aplicación iOS
Brilliant! Funciona como una brisa en iOS 7. ¡Gracias! –