[iOS]图片压缩&保存View为内容Img详解手机开发

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

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5131.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论