[iOS]图片压缩&保存View为内容Img

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

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;  
    }  

    //屏幕截图并压缩  
        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);  
    }