在iPhone库中保存已处理的图像

时间:2012-09-18 09:58:32

标签: iphone xcode image-processing cgaffinetransform flip

我正在使用此代码来翻转图片。

CGAffineTransform trans = CGAffineTransformScale(imageView.transform, -1, 1);
imageView.transform = trans;  

现在,如果我想保存这张翻转的图像,我该怎么办? 我使用UIImageWriteToSavedPhotosAlbum(imageView.image, nil, nil, nil);将图像保存在iphone库中,但它保存原始图像而不是翻转图像。

欢迎你提出建议 谢谢你的帮忙。

2 个答案:

答案 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);