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#>)

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

  • 相关阅读:
    golang基础之第一个go程序
    golang基础之工程结构
    golang基础之初识
    Prometheus神器之监控K8s集群
    Kubernetes使用GlusterFS实现数据持久化
    Go使用Makefile构建
    快排的2种分区图解
    密钥交换之DH算法
    go mod使用
    socket常见选项之SO_REUSEADDR,SO_REUSEPORT
  • 原文地址:https://www.cnblogs.com/handsomeBoys/p/5083188.html
Copyright © 2011-2022 走看看