Question

J'essaie de sauvegarder un UIImageView pivoté et mis à l'échelle en tant qu'un UIImage dans la position et avec l'échelle de zoom que l'utilisateur a également modifiées. Mais je n'arrive qu'à enregistrer l'image originale telle qu'elle était avant l'édition. Comment puis-je enregistrer l'image telle qu'elle apparaît dans UIImageView avec la même mise à l'échelle et la même rotation? J'ai lu que je devais utiliser UIGraphicsGetCurrentContext () mais je reçois la même image originale enregistrée (mais retournée) et non la rotation!! Des suggestions et des conseils seraient vraiment utiles. Merci d'avance. 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;

}

Était-ce utile?

La solution

Je ne vois rien dans le code que vous avez posté qui pourrait faire pivoter une image. Avez-vous oublié d'ajouter cela?

On dirait que vous êtes sur la bonne voie. Vous devez maintenant utiliser les routines de transformation CGContextScaleCTM et CGContextRotateCTM pour modifier votre matrice de transformation de manière appropriée, puis (pour éviter tout retournement), utilisez - [UIImage drawAtPoint:] pour dessiner le UIImage au lieu d'utiliser CGContextDrawImage .

Autres conseils

Les transformations basées sur la vue sont appliquées à la sortie du contexte et non au contexte lui-même. Je pense que vous devez redimensionner et faire pivoter le contexte de l'image à l'aide du texte du lien fonctions spécifiques du graphique.

(Je peux me tromper. Je ne me souviens plus exactement comment j'ai fait cela dans le passé. Prenez ceci avec un grain de sel.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top