[iOS]圖片壓縮&保存View為內容Img

fydxdk 9年前發布 | 1K 次閱讀 Objective-C IOS

1、圖片的壓縮

封裝類方法

    + (UIImage)imageWithImageSimple:(UIImage)image scaledToSize:(CGSize)newSize
{
// Create a graphics image context
UIGraphicsBeginImageContext(newSize);

    // Tell the old image to draw in this new context, with the desired  
    // new size  
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];  

    // Get the new image from the context  
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();  

    // End the context  
    UIGraphicsEndImageContext();  

    // Return the new image.  
    return newImage;  
}  </pre> 


    //屏幕截圖并壓縮  
        UIImage *snapshot =  [UIImage imageWithCGImage:[AppDelegate screenShots].CGImage scale:1 orientation:UIImageOrientationLeft];  
        _updataImg =[AppDelegate imageWithImageSimple:snapshot scaledToSize:CGSizeMake(snapshot.size.width/3, snapshot.size.height/3)];  

2、保存View為內容Img

    -(void)savetoLocal
{
_moreVC.hidden =YES;
UIImage * saveimg=[self saveImage];
UIImageWriteToSavedPhotosAlbum(saveimg, self, @selector(imageSavedToPhotosAlbum:didFinishSavingWithError:contextInfo:), nil);

}  
-(UIImage*)saveImage{  
    UIGraphicsBeginImageContext(CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.height - 20));//保存self.view上的內容  
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];  
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();  
    UIGraphicsEndImageContext();  
    return viewImage;  
}  

- (void)imageSavedToPhotosAlbum:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(voidvoid *)contextInfo  
{  
    NSString *message = @"呵呵";  
    if (!error) {  
        message = @"成功保存到相冊";  
    }else  
    {  
        message = [error description];  
    }  
    NSLog(@"message is %@",message);  
}  </pre> 


 本文由用戶 fydxdk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!