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

  • 相关阅读:
    HTML 语义化标签-新增标签介绍
    HTML基础知识点
    Android JSON 解析关键代码
    [USACO16DEC]Cities and States省市
    [洛谷P1835]素数密度
    [洛谷P1168]中位数
    [HNOI2008]越狱
    [HAOI2007]上升序列
    [SHOI2009]Booking 会场预约
    [洛谷P1892][codevs2597]团伙
  • 原文地址:https://www.cnblogs.com/wfwenchao/p/5383215.html
Copyright © 2011-2022 走看看