zoukankan      html  css  js  c++  java
  • iOS 图片剪切和压缩的几个方法

    // 图片剪切

    - (UIImage*)clipImageWithImage:(UIImage*)image inRect:(CGRect)rect {
        CGImageRef imageRef = CGImageCreateWithImageInRect(image.CGImage, rect);

        UIGraphicsBeginImageContext(image.size);
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextDrawImage(context, rect, imageRef);
        UIImage* clipImage = [UIImage imageWithCGImage:imageRef];
    //    CGImageCreateWithImageInRect(CGImageRef  _Nullable image, <#CGRect rect#>)
    //    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();      // 不同的方式
        UIGraphicsEndImageContext();
        
    //    NSData* data = [NSData dataWithData:UIImagePNGRepresentation(clipImage)];
    //    BOOL flag = [data writeToFile:@"/Users/gua/Desktop/Image/后.png" atomically:YES];
    //    GGLogDebug(@"========压缩后=======%@",clipImage);
        
        return clipImage;
    }

    // 图片压缩
    - (UIImage*)imageCompressImage:(UIImage *)sourceImage targetWidth:(CGFloat)defineWidth {
        CGSize imageSize = sourceImage.size;
        CGFloat width = imageSize.width;
        CGFloat height = imageSize.height;
        CGFloat targetWidth = defineWidth;
        CGFloat targetHeight = (targetWidth / width) * height;
        UIGraphicsBeginImageContext(CGSizeMake(targetWidth, targetHeight));
        [sourceImage drawInRect:CGRectMake(0,0,targetWidth, targetHeight)];
        UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        
        return newImage;
    }

  • 相关阅读:
    集训作业 洛谷P1135 奇怪的电梯
    集训作业 洛谷P1433 吃奶酪
    集训作业 洛谷P1443 马的遍历
    集训作业 洛谷P1032 字串变换
    T3 成绩单 题解
    T4 字符串的修改 题解
    P3379 最近公共祖先(LCA) 洛谷
    集训作业 洛谷P3913 车的攻击
    解决intellij idea卡顿的方法
    好的在线开发工具推荐
  • 原文地址:https://www.cnblogs.com/wfwenchao/p/5383215.html
Copyright © 2011-2022 走看看