Pregunta

Estoy tratando de guardar un UIImageView girado y escalado como un UIImage en la posición y con la escala de zoom que el usuario también editó. Pero solo puedo guardar la imagen original como estaba antes de editarla. ¿Cómo puedo guardar la imagen como se muestra en el UIImageView con la misma escala y rotación? ¡He leído que necesito usar UIGraphicsGetCurrentContext () pero obtengo la misma imagen original guardada (pero volteada) y no la rotada !! Sugerencias y sugerencias serían realmente útiles. Gracias de antemano. Al

(UIImage *)getImage
{
CGSize size = CGSizeMake(250, 250);
UIGraphicsBeginImageContext(size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGMutablePathRef path = CGPathCreateMutable();

// Add circle to path
CGPathAddEllipseInRect(path, NULL, CGRectMake(0, 0, 250, 250));
CGContextAddPath(context, path);

// ****************** touchImageView is my UIImageView ****************//
CGContextDrawImage(context, CGRectMake(0, 0, 250, 250), [touchImageView image].CGImage);

UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();

// Clip to the circle and draw the logo
CGContextClip(context);
UIGraphicsEndImageContext();

return scaledImage;

}

¿Fue útil?

Solución

No veo nada en el código que haya publicado que pueda rotar una imagen. ¿Olvidaste agregar eso?

Parece que estás en el camino correcto. Ahora debe usar las rutinas de transformación CGContextScaleCTM y CGContextRotateCTM para modificar su matriz de transformación adecuadamente, y luego (para evitar el cambio), use - [UIImage drawAtPoint:] para dibujar el UIImage en lugar de usar CGContextDrawImage .

Otros consejos

Las transformaciones basadas en la vista se aplican a la salida del contexto, no al contexto en sí. Creo que debe escalar y rotar el contexto de la imagen en sí usando enlace de texto funciones específicas del gráfico principal.

(Podría estar equivocado. No recuerdo exactamente cómo hice esto en el pasado. Tómelo con un grano de sal).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top