我添加了缩放以缩放和旋转手势到UIImageView(myImageView)。在缩放和旋转之后,有应用按钮来保存图像。以下是apply方法。它可以通过精确的旋转和缩放正确保存图像。就像截图一样。
UIGraphicsBeginImageContextWithOptions(view.frame.size,view.opaque,0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *data=UIImageJPEGRepresentation(viewImage, 100);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *strPath = [documentsDirectory stringByAppendingPathComponent:@"BorderedImage.jpg"];
[data writeToFile:strPath atomically:YES];
但是这样做之后,我将保存的图像重新分配给myImageView。
myImageView.image=[self loadImage:@"BorderedImage.jpg"];
它做了什么,如果图像被缩小,图像变得更小,如果图像被放大,图像变得太大。如果图像旋转,则图像显示旋转完全错误。
我知道这是某种UIImageView问题,因为我检查了文档文件夹中的图像,就像我按下应用按钮一样。
我是iOS开发的新手。请帮助我。
答案 0 :(得分:0)
头疼得厉害之后,我自己解决了。在重新分配变换后的图像之前,我将UIImageView变换更改为原始变换值。
myImageView.transform=defaultTranform;
其中defaultTransform为
CGAffineTransform rotTran;
rotTran=myImageView.transform; // view did load