美文网首页
图片处理

图片处理

作者: HCong | 来源:发表于2018-08-24 09:57 被阅读5次

iOS中图片的加载、圆角、阴影实现方式多种多样,我们需着重考虑性能问题

视图阴影

    /// 为UIImageView设置阴影
    ///
    /// - Parameters:
    ///   - color: The color of the shadow
    ///   - opacity: The opacity of the shadow.
    ///   - radius: The blur radius used to create the shadow.
    ///   - path: The shadow path.
    func shadowView(_ color: UIColor, opacity: Float, radius: CGFloat ,path: CGPath) {
        layer.shadowColor = color.cgColor
        layer.shadowOpacity = opacity
        layer.shadowRadius = radius
        // 使用shadowPath可以避免离屏渲染
        layer.shadowPath = path
    }

圆角图片

    /// 圆角图片
    ///
    /// - Parameter radius: 圆角
    /// - Returns: 给定圆角的图片
    func roundImg(radius: CGFloat, itemType: CompressItemType) -> UIImage {
        
        var tempImg = UIImage()
        // cell的size,即图片实际显示大小
        let forSize = itemType.size()
        // 开启上下文
        UIGraphicsBeginImageContextWithOptions(forSize, false, UIScreen.main.scale)
        
        // 设置路径
        UIBezierPath(roundedRect: CGRect(origin: CGPoint.zero, size: forSize), cornerRadius: radius).addClip()
        draw(in: CGRect(origin: CGPoint.zero, size: forSize))
            
        tempImg = UIGraphicsGetImageFromCurrentImageContext()!
        // 关闭上下文
        UIGraphicsEndImageContext()
        return tempImg
    }

注意:这种方法能够避免离屏渲染,但是会占用大量的内存。还有直接对图层设置cornerRadius实现圆角和使用CAShapeLayer实现圆角的,但是这两种方法会产生离屏渲染。CAShapeLayer在iOS9.0以上设置mask不会产生离屏渲染

相关文章

  • Plupload 七牛图片上传(二)

    图片基本处理 七牛提供了一些图片处理方式,比如: **图片基本处理 ** √ **图片瘦身 ** 图片高级处理 图...

  • PPT培训第二天

    一、总结 二、图片处理 1,图片边框 2,图片映像 3,图片柔光等图片处理 4,图片格式刷:其他图片同样处理 三、...

  • iOS 图片上传处理 图片压缩 图片处理

    提到从摄像头/相册获取图片是面向终端用户的,由用户去浏览并选择图片为程序使用。在这里,我们需要过UIImagePi...

  • IOS 图片上传处理 图片压缩 图片处理

    提到从摄像头/相册获取图片是面向终端用户的,由用户去浏览并选择图片为程序使用。在这里,我们需要过UIImagePi...

  • 图片处理

    头像图片处理,没有图片时将姓名的首字母显示到图片上 /*NSString *name = @"name";// ...

  • 图片处理

    图片缩放 图片转码

  • 图片处理

    图片流 前端所说的图片流就是读取本地图片,并在页面使用文件流的方式显示出来。 首先,我们简单说下文件上传的几种方式...

  • 图片处理

    1、旋转2、裁剪3、截取4、平铺 自由拉伸 等比例缩放 根据颜色生成图片 截取某个view视图 文字水印 图片水印...

  • 图片处理

    iOS中图片的加载、圆角、阴影实现方式多种多样,我们需着重考虑性能问题 视图阴影 圆角图片 注意:这种方法能够避免...

  • 图片处理

    图片处理:当拿到一个字符串的时候,不知道是url还是本地路径的时候,怎么正确的拿到字符串代表的图片urlStr:为...

网友评论

      本文标题:图片处理

      本文链接:https://www.haomeiwen.com/subject/ilgosftx.html