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;

    }

  • 相关阅读:
    甲醛(Formaldehyde)
    Node Embedding
    受限玻尔兹曼机(RBM, Restricted Boltzmann machines)和深度信念网络(DBN, Deep Belief Networks)
    长尾分布,重尾分布(Heavy-tailed Distribution)
    SVD分解与数据压缩
    Batch Normailzation
    Attention Mechanism
    新装的Ubuntu在Nvidia显卡上分辨率不对
    人工神经网络(Artificial Neural Network)
    Xdebug+phpstorm配置
  • 原文地址:https://www.cnblogs.com/runner42/p/4633907.html
Copyright © 2011-2022 走看看