quiero recortar la imagen en mi aplicación de iPhone utilizando cualquier ruta cercana como UIBezierPath. Sé que es posible usar un rectángulo, pero quiero que el cultivo tenga una forma diferente. como hago una forma con el tacto y quiero recortar esa imagen para saber cómo es posible. cualquier sugerencia o ayuda. Gracias de antemano.Quiero recortar imágenes usando cualquier ruta cercana como UIBezierPath. es posible en la aplicación de iPhone?
5
A
Respuesta
2
Puede recortar su imagen con una capa de forma. Para hacerlo, debes crear una ruta que se usará como bordes para tu nueva imagen. Debería mirar esto question.
CALayer* contentLayer = [CALayer layer];
[contentLayer setFrame:CGRectMake(0, 0, 80, 80)];
CAShapeLayer* mask = [CAShapeLayer layer];
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 10, 10);
CGPathAddLineToPoint(path, NULL, 10, 80);
CGPathAddLineToPoint(path, NULL, 80, 80);
CGPathAddLineToPoint(path, NULL, 80, 10);
mask.path = path;
[contentLayer setContents:(id)[[UIImage imageNamed:@"image.png"] CGImage]];
[contentLayer setMask:mask];
[[self layer]addSublayer:contentLayer];
Algo como esto.
+0
Vitaliy1 ¿Puede poner aquí el código de cómo recortar la imagen con la capa de forma ..... –
1
puede lograr esto con una máscara. puede crear una máscara usando CGImageMaskCreate
.
si necesitan ejemplos:
Any idea why this image masking code does not work?
http://mobiledevelopertips.com/cocoa/how-to-mask-an-image.html
0
// En Código Uso:
-(UIImage *)croppedImage
{
UIImage *myImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self.bezierPath closePath];
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0.0, 0.0, 0.0, 0.0);
_b_image = self.bg_imageview.image;
CGSize imageSize = _b_image.size;
CGRect imageRect = CGRectMake(0, 0, imageSize.width, imageSize.height);
UIGraphicsBeginImageContextWithOptions(imageSize, NO, [[UIScreen mainScreen] scale]);
[self.bezierPath addClip];
[_b_image drawInRect:imageRect];
UIImage *croppedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return croppedImage;}
Cuestiones relacionadas
- 1. iphone UIbezierpath imagen irregular recorte
- 2. Aplicación Django para recortar imágenes usando una herramienta de recorte
- 3. Recortar UIImage como un camscanner
- 4. iPhone - ¿Cómo se hace un rectángulo redimensionable para recortar imágenes?
- 5. Recortar un UIImage en iPhone
- 6. Imágenes SVG en una aplicación de iPhone
- 7. iPhone - copiando un UIBezierPath en un CGPath y renderizado como el original
- 8. Cómo agregar imágenes en UINavigationBar en la aplicación para iPhone
- 9. UIBezierpath de enmascarar un UIImage
- 10. Recortar un CAShapeLayer recuperar la ruta externa
- 11. Recortar un CALayer en una ruta arbitraria
- 12. ¿Es posible imprimir desde la aplicación iPhone y iPad?
- 13. Aplicación Appengine como proveedor OpenId. ¿Es posible?
- 14. Cualquier alternativa glPolygonMode en iPhone (OpenGL ES)?
- 15. Recortar imagen usando CGImageCreateWithImageInRect
- 16. Descargue imágenes y guárdelas localmente en la aplicación iPhone Phonegap
- 17. Recortar la imagen usando PIL en python
- 18. Cómo obtener UIBezierpath usando Glyph en iOS SDK
- 19. ¿Es posible crear una aplicación para iPhone sin productos Apple?
- 20. seleccionar ... donde id = cualquier valor. ¿Es posible?
- 21. cargar imágenes desde el disco en la aplicación iPhone es lento
- 22. Copiar y recortar imágenes en Javascript
- 23. Mostrar imágenes en la aplicación de AIR
- 24. iPhone App: aplicación de arrastrar y soltar imágenes en UIView
- 25. ¿Es posible obtener la ruta completa a un archivo de activo de la aplicación Android como una cadena?
- 26. UIBezierpath Shadow effect - iOs
- 27. ¿Por qué UIBezierPath es más rápido que la ruta de Core Graphics?
- 28. ¿La mejor manera de recortar y cargar imágenes con Express?
- 29. Cómo obtener la ruta de la aplicación usando javascript
nunca lo hice antes, pero supongo que es necesario utilizar enmascaramiento mago. Intente leer este Apple Doc [Guía de programación de Quartz 2D] (https://developer.apple.com/library/ios/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_images/dq_images.html#//apple_ref/doc/uid/TP30001066- CH212-CJBDIJEE). Tal vez podría crear una imagen transparente con bezierPath programáticamente o por interacción del usuario y luego usar esta imagen como máscara para su imagen original. – Gabriele
El enmascaramiento es la forma de obtenerlo. Eche un vistazo a este pequeño ejemplo http://mobiledevelopertips.com/cocoa/how-to-mask-an-image.html – msg