我正在使用此代码来翻转图片。
CGAffineTransform trans = CGAffineTransformScale(imageView.transform, -1, 1);
imageView.transform = trans;
现在,如果我想保存这张翻转的图像,我该怎么办?
我使用UIImageWriteToSavedPhotosAlbum(imageView.image, nil, nil, nil);
将图像保存在iphone库中,但它保存原始图像而不是翻转图像。
欢迎你提出建议 谢谢你的帮忙。
答案 0 :(得分:2)
正如您正在做的那样,UIImageView
X-Axis
而非UIImage
翻转UIImage
。很明显,代码可以保存原始图像。
翻转UIImageView
而不是 UIImage *flippedImage = [UIImage imageWithCGImage:sourceImage.CGImage scale:1.0 orientation: UIImageOrientationUpMirrored];
,然后保存 -
UIImageWriteToSavedPhotosAlbum(flippedImage, nil, nil, nil);
现在使用您的保存方法 -
-(void)tapFlipXPosition:(id)sender
{
UIImage* sourceImage = yourSourceImage;
UIImage* flippedImage;
if(sourceImage.imageOrientation == UIImageOrientationUpMirrored)
{
flippedImage = [UIImage imageWithCGImage:sourceImage.CGImage scale:1.0 orientation: UIImageOrientationUp];
}
else
{
flippedImage = [UIImage imageWithCGImage:sourceImage.CGImage scale:1.0 orientation: UIImageOrientationUpMirrored];
}
UIImageWriteToSavedPhotosAlbum(flippedImage, nil, nil, nil);
}
修改强>
{{1}}
答案 1 :(得分:-1)
使用此代码。首先,您将获取倒置图像的屏幕截图,将其保存到另一个imageviewView中,然后将此特定“新图像”保存到PhotoLibrary。
UIGraphicsBeginImageContext(BaseView.frame.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *attachimage = [[UIImage alloc]initWithData:Data];
UIImage *viImage=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
attachimage = viImage;
UIImageWriteToSavedPhotosAlbum(viImage, nil, nil, nil);