zoukankan      html  css  js  c++  java
  • iOS基础(十八)——调整图片尺寸和大小

    调整图片尺寸和大小

    /**
     *  调整图片尺寸和大小
     *
     *  @param sourceImage  原始图片
     *  @param maxImageSize 新图片最大尺寸
     *  @param maxSize      新图片最大存储大小
     *
     *  @return 新图片imageData
     */
    + (NSData *)reSizeImageData:(UIImage *)sourceImage maxImageSize:(CGFloat)maxImageSize maxSizeWithKB:(CGFloat) maxSize
    {
        
        if (maxSize <= 0.0) maxSize = 1024.0;
        if (maxImageSize <= 0.0) maxImageSize = 1024.0;
        
        //先调整分辨率
        CGSize newSize = CGSizeMake(sourceImage.size.width, sourceImage.size.height);
        
        CGFloat tempHeight = newSize.height / maxImageSize;
        CGFloat tempWidth = newSize.width / maxImageSize;
        
        if (tempWidth > 1.0 && tempWidth > tempHeight) {
            newSize = CGSizeMake(sourceImage.size.width / tempWidth, sourceImage.size.height / tempWidth);
        }
        else if (tempHeight > 1.0 && tempWidth < tempHeight){
            newSize = CGSizeMake(sourceImage.size.width / tempHeight, sourceImage.size.height / tempHeight);
        }
        
        UIGraphicsBeginImageContext(newSize);
        [sourceImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        
        //调整大小
        NSData *imageData = UIImageJPEGRepresentation(newImage,1.0);
        CGFloat sizeOriginKB = imageData.length / 1024.0;
        
        CGFloat resizeRate = 0.9;
        while (sizeOriginKB > maxSize && resizeRate > 0.1) {
            imageData = UIImageJPEGRepresentation(newImage,resizeRate);
            sizeOriginKB = imageData.length / 1024.0;
            resizeRate -= 0.1;
        }
        
        return imageData;
    }
    
  • 相关阅读:
    视图
    过滤器
    Redis--事务
    Redis--发布订阅
    Redis--有序集合(sorted set)
    Redis--集合(Set)
    Redis--列表(List)
    TeamViewer安装使用
    loadrunner获取当前CST时间
    LR录制Flex+Web,登录功能之登录密码出错的处理
  • 原文地址:https://www.cnblogs.com/smileK/p/9670527.html
Copyright © 2011-2022 走看看