zoukankan      html  css  js  c++  java
  • IOS 缩放图片常用方法

    /**
     *  指定Size压缩图片 (图片会压缩变形)
     *
     *  @param image 原图
     *  @param size  压缩size
     *
     *  @return 压缩后的图片
     */
    -(UIImage*)OriginImage:(UIImage *)image scaleToSize:(CGSize)size
    {
        // 创建一个bitmap的context
        // 并把它设置成为当前正在使用的context
        UIGraphicsBeginImageContext(size);
        
        // 绘制改变大小的图片
        [image drawInRect:CGRectMake(0, 0, size.width, size.height)];
        
        // 从当前context中创建一个改变大小后的图片
        UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
        
        // 使当前的context出堆栈
        UIGraphicsEndImageContext();
        
        // 返回新的改变大小后的图片
        return scaledImage;
    }
    
    /**
     *  等比缩放图片裁剪指定区域图片
     *
     *  @param image 原图
     *  @param size  裁剪范围
     *
     *  @return 裁剪后的图片
     */
    -(UIImage *)compressImageWith:(UIImage *)image scaleToSize:(CGSize)size
    {
        // 原图宽
        CGFloat imageWidth = image.size.width;
        // 原图高
        CGFloat imageHeight = image.size.height;
        
        // 缩放比例
        CGFloat widthScale = imageWidth /size.width;
        CGFloat heightScale = imageHeight /size.height;
        
        // 创建一个bitmap的context
        // 并把它设置成为当前正在使用的context
        UIGraphicsBeginImageContext(CGSizeMake(size.width, size.height));
        
        // 横屏图片
        if (widthScale > heightScale) {
            [image drawInRect:CGRectMake(0, 0, imageWidth /heightScale , size.height)];
        }
        else { // 竖屏图片
            [image drawInRect:CGRectMake(0, 0, size.width , imageHeight /widthScale)];
        }
        
        // 从当前context中创建一个改变大小后的图片
        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    
        // 使当前的context出堆栈
        UIGraphicsEndImageContext();
        
        return newImage;
        
    }
  • 相关阅读:
    使用element-ui table expand展开行实现手风琴效果
    使用js生成二维码和条形码
    js时间戳转换时间、距当前时间
    使用js在浏览器中禁止右键、审查元素、复制功能
    VS Code编辑器插件整理及配置设定
    在vue项目中使用canvas-nest.js,报parameter 1 is not of type 'Element'
    JS中的函数
    Babel 7 初探
    package-lock.json 文件
    Js 中的数组
  • 原文地址:https://www.cnblogs.com/joesen/p/4403737.html
Copyright © 2011-2022 走看看