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

  • 相关阅读:
    c语言博客作业04--数组
    C博客作业03--函数
    c博客作业02--循环结构
    C博客作业01--顺序分支结构
    我的第一篇博客
    java--购物车程序的面向对象设计
    c博客作业05--指针
    C博客作业04--数组
    C博客作业03--函数
    C博客作业02--循环结构
  • 原文地址:https://www.cnblogs.com/wfwenchao/p/5383215.html
Copyright © 2011-2022 走看看