zoukankan      html  css  js  c++  java
  • 关于图片的重绘,从而进行压缩

    //重新画图像

    -(NSData *)drawPicture:(UIImage *)image

    {

        // 加载图片

    //    UIImage *image = [UIImage imageNamed:@"小黄人"];

        

        // 1.开启上下文

        // size:位图上下文,一般根图片一样大

        // opaque:不透明度,只要跟上下文相关的都是叫不透明度,根view相关的叫透明度

        // opaque:YES 不透明 NO: 透明,一般都是使用透明的上下文

        // scale: 0 表示不需要缩放

        UIGraphicsBeginImageContextWithOptions(image.size, NO, 0.1);

        

        // 2.画图片

        [image drawAtPoint:CGPointZero];

        

        

        // 4.把上下文中的内容生成一张图片,从上下文中获取图片

        image = UIGraphicsGetImageFromCurrentImageContext();

        

        // 5.关闭上下文

        UIGraphicsEndImageContext();

        

        // 把图片转换成二进制数据

        NSData *data = UIImagePNGRepresentation(image);

        

        // 写入桌面

        return data;

    }

    对比与直接用

      UIImageJPEGRepresentation(<#UIImage * _Nonnull image#>, <#CGFloat compressionQuality#>)

     进行压缩。第一种方法的优势是不会使图片变形,只是像素变小,等比例压缩

  • 相关阅读:
    cesium 之图层管理器篇(附源码下载)
    cesium 之三维场景展示篇(附源码下载)
    InfluxDB 常用命令
    开始使用Chronograf(官方说明)
    InfluxDB(官方使用说明)
    centos su命令
    CentOS7使用firewalld打开关闭防火墙与端口
    HBase教程
    OpenTSDB安装
    OpenTSDB(时序数据库官网)
  • 原文地址:https://www.cnblogs.com/handsomeBoys/p/5083188.html
Copyright © 2011-2022 走看看