Ok J'ai cherché partout et je n'arrive pas à trouver la réponse dont j'ai besoin. :-(Comment enregistrer une image en utilisant UIImageWriteToSavedPhotosAlbum après sa transformation
Voici ce que je fais et ce que je dois faire: J'ai un UIImageView que je suis capable de transférer en utilisant UIPanGestureRecognizer, UIRotationGestureRecognizer, et UIPinchGestureRecognizer, tout cela fonctionne très bien. sauver ces transfomations à mon PhotoAlbum. les résultats ne sont pas ce que je suis dans l'attente. jusqu'à présent, voici le code que j'utilise (al-be-très incomplète)
-(IBAction)saveface:(id)sender
{
static int kMaxResolution = 640;
CGImageRef imgRef = face.image.CGImage;
CGFloat width = CGImageGetWidth(imgRef);
CGFloat height = CGImageGetHeight(imgRef);
CGRect bounds = CGRectMake(0, 0, width, height);
if (width > kMaxResolution || height > kMaxResolution) {
CGFloat ratio = width/height;
if (ratio > 1) {
bounds.size.width = kMaxResolution;
bounds.size.height = bounds.size.width/ratio;
} else {
bounds.size.height = kMaxResolution;
bounds.size.width = bounds.size.height * ratio;
}
}
UIGraphicsBeginImageContext(bounds.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextScaleCTM(context, 1, -1);
CGContextTranslateCTM(context, 0, -height);
NSLog(@"SAVE TX:%f TY:%f A:%f B:%f C:%f D:%f", face.transform.tx, face.transform.ty, face.transform.a,face.transform.b,face.transform.c,face.transform.d);
CGFloat x = face.transform.tx;
CGFloat y = face.transform.ty;
CGContextTranslateCTM (context, x,-y);
CGContextConcatCTM(context, face.transform);
CGContextDrawImage(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, width, height), imgRef);
UIImage *imageCopy = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(imageCopy, self, nil, nil);
}
de cette méthode, je suis en mesure d'économiser l'image cependant les coordonnées sont loin.Je peux voir toute échelle que j'ai fait qui fonctionne bien.Je vois ma rotation mais il semble être en arrière et le paning est WAY off
Les coords sont tous faux et pour la vie de moi je ne peux pas comprendre ce qui ne va pas. J'avoue être novice en Objective-C et je n'ai jamais utilisé Quartz 2D auparavant et ma compréhension des matrices de transformation est limitée. Je comprends que mes transformations ne sont pas sur les données d'image elle-même comme essayant de sauver l'image juste sans appliquer ce contexte à rien. Alors, s'il vous plaît, quelqu'un peut-il me mettre au clair?