• IOS中修改图片的大小:修改分辨率和裁剪


    在IOS开发中,经常有限制图片文件大小的,有的用户图片很大,导致上传时间慢,造成问题。

    如:微信分享中,如果图片的大小好像大于50kbytes,就分享失败,而且没有任何提示。

    所以,我添加了两个函数:

    一、修改当前图片的大小,newSize是新的size尺寸,这个方法帮助用户获取到更小的图片。

    但是这个newSize的尺寸建议跟原图一样,不然图片就变形了。

    - (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize

    {

        // Create a graphics image context

        UIGraphicsBeginImageContext(newSize);

        

        // Tell the old image to draw in this new context, with the desired

        // new size

        [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

        

        // Get the new image from the context

        UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();

        

        // End the context

        UIGraphicsEndImageContext();

        

        // Return the new image.

        return newImage;

    }

    二、截图功能,实现用户想要截取图的RECT

    - (UIImage *)getImageByCuttingImage:(UIImage *)image Rect:(CGRect)rect{

        //大图bigImage

        //定义myImageRect,截图的区域

        CGRect myImageRect = rect;

        UIImage* bigImage= image;

        CGImageRef imageRef = bigImage.CGImage;

        CGImageRef subImageRef = CGImageCreateWithImageInRect(imageRef, myImageRect);

        CGSize size;

        size.width = rect.size.width;

        size.height = rect.size.height;

        UIGraphicsBeginImageContext(size);

        CGContextRef context = UIGraphicsGetCurrentContext();

        CGContextDrawImage(context, myImageRect, subImageRef);

        UIImage* smallImage = [UIImage imageWithCGImage:subImageRef];

        UIGraphicsEndImageContext();

        return smallImage;

    }

  • 相关阅读:
    php设计模式 -- 数据映射模式
    php 守护进程 (简单)
    php 守护进程
    php rabbitmq demo
    linux 全局安装composer
    linux 安装rabbitmq
    linux php安装RabbitMq扩展
    http和tcp详解
    lnmp环境脚本自动配置
    30.输入年月日,判断它是该年的第多少天
  • 原文地址:https://www.cnblogs.com/runner42/p/4633907.html
Copyright © 2020-2023  润新知