zoukankan      html  css  js  c++  java
  • 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;

    }

  • 相关阅读:
    jboss:在standalone.xml中设置系统属性(system-properties)
    心得体悟帖---200608(机会都是自己创造的)
    心得体悟帖---200608(易中天评三国之刘备和诸葛亮关系启示:诚意真的重要)
    算法与数据结构---6.1、斐波那契数列-递推解法
    算法与数据结构---5、递推
    C++指针相关问题
    C++ new一个数组
    指针数组和数组指针的区别
    C++ new的用法
    webdings 和 wingdings 字体
  • 原文地址:https://www.cnblogs.com/runner42/p/4633907.html
Copyright © 2011-2022 走看看