美文网首页
UIImage 图片处理:截图,缩放,设定大小,存储

UIImage 图片处理:截图,缩放,设定大小,存储

作者: Damen_9527 | 来源:发表于2017-11-29 15:06 被阅读0次

    1.等比率缩放

    - (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize{
      UIGraphicsBeginImageContext(CGSizeMake(image.size.width * scaleSize, image.size.height * scaleSize);
      [image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height * scaleSize)];
      UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
      UIGraphicsEndImageContext();
      return scaledImage;
    }
    

    2.自定长宽

    - (UIImage *)reSizeImage:(UIImage *)image toSize:(CGSize)reSize{
      UIGraphicsBeginImageContext(CGSizeMake(reSize.width, reSize.height));
      [image drawInRect:CGRectMake(0, 0, reSize.width, reSize.height)];
      UIImage *reSizeImage = UIGraphicsGetImageFromCurrentImageContext();
      UIGraphicsEndImageContext();
      return reSizeImage;
    }
    

    3.处理某个特定View
    只要是继承UIView的object 都可以处理
    必须先import QuzrtzCore.framework

    -(UIImage*)captureView:(UIView *)theView{
      CGRect rect = theView.frame;
      UIGraphicsBeginImageContext(rect.size);
      CGContextRef context = UIGraphicsGetCurrentContext();
      [theView.layer renderInContext:context];
      UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
      UIGraphicsEndImageContext();
      return img;
    }
    

    4.储存图片
    储存图片这里分成储存到app的文件里和储存到手机的图片库里

    1. 储存到app的文件里
    NSString *path = [[NSHomeDirectory()stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:@"image.png"];
    [UIImagePNGRepresentation(image) writeToFile:pathatomically:YES];
    

    把要处理的图片, 以image.png名称存到app home下的Documents目录里
    2)储存到手机的图片库里(必须在真机使用,模拟器无法使用)

    CGImageRef screen = UIGetScreenImage();
    UIImage* image = [UIImage imageWithCGImage:screen];
    CGImageRelease(screen);
    UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);
    UIGetScreenImage(); // 原来是private(私有)api, 用来截取整个画面,不过SDK 4.0后apple就开放了
    

    转载:http://blog.csdn.net/xuhuan_wh/article/details/6434055
    SDWebImage:异步缓存加载网络图片 http://hao.jobbole.com/sdwebimage-ios/?utm_source=hao.jobbole.com&utm_medium=relatedResources

    相关文章

      网友评论

          本文标题:UIImage 图片处理:截图,缩放,设定大小,存储

          本文链接:https://www.haomeiwen.com/subject/xfoubxtx.html