zoukankan      html  css  js  c++  java
  • iOS 压缩图片分辨率

    + (UIImage *)imageWithMaxSide:(CGFloat)length sourceImage:(UIImage *)image
    {
        CGFloat scale = [[UIScreen mainScreen] scale];
        CGSize imgSize = SizeReduce(image.size, length);
        UIImage *img = nil;
    
        UIGraphicsBeginImageContextWithOptions(imgSize, YES, scale);  // 创建一个 bitmap context
    
        [image drawInRect:CGRectMake(0, 0, imgSize.width, imgSize.height)
                blendMode:kCGBlendModeNormal alpha:1.0];              // 将图片绘制到当前的 context 上
    
        img = UIGraphicsGetImageFromCurrentImageContext();            // 从当前 context 中获取刚绘制的图片 
        UIGraphicsEndImageContext();
    
        return img;
    }
    
    
    static inline
    CGSize SizeReduce(CGSize size, CGFloat limit)   // 按比例减少尺寸
    {
        CGFloat max = MAX(size.width, size.height);
        if (max < limit) {
            return size;
        }
    
        CGSize imgSize;
        CGFloat ratio = size.height / size.width;
    
        if (size.width > size.height) {
            imgSize = CGSizeMake(limit, limit*ratio);
        } else {
            imgSize = CGSizeMake(limit/ratio, limit);
        }
    
        return imgSize;
    }
  • 相关阅读:
    两人合作
    JUnit单元测试
    结对编程-——游戏五子棋
    使用Junit等工具进行单元测试
    软件工程
    两人项目---打飞机的游戏
    使用Junit等工具进行单元测试
    软件工程
    使用Junit等工具进行单元测试
    软件工程
  • 原文地址:https://www.cnblogs.com/airy99/p/4402237.html
Copyright © 2011-2022 走看看