[iOS]给图片绘制渲染色

我们有时候需要给图片上绘制一层渲染色,虽然可以在控件上添加一层视图,但是这种做法效率很低,不如直接把图片绘制为带有渲染色的图片来得好
代码:

    func tintedImageWithColor(color: UIColor, originalityImage: UIImage!) -> UIImage {
        //创建图片位置大小
        let imageRect = CGRect(x: 0.0, y: 0.0, width: originalityImage.size.width, height: originalityImage.size.height)
        
        //设置绘制图片上下文
        UIGraphicsBeginImageContextWithOptions(imageRect.size, false, originalityImage.scale)
        //得到上下文
        let context = UIGraphicsGetCurrentContext()
        //绘制图片
        originalityImage.drawInRect(imageRect)
        //设置渲染颜色
        CGContextSetFillColorWithColor(context, color.CGColor)
        //设置透明度(值可根据需求更改)
        CGContextSetAlpha(context, 0.5)
        //设置混合模式
        CGContextSetBlendMode(context, CGBlendMode.SourceAtop)
        //设置位置大小
        CGContextFillRect(context, imageRect)
        
        //绘制图片
        let imageRef = CGBitmapContextCreateImage(context)
        let darkImage = UIImage(CGImage: imageRef!, scale: originalityImage.scale, orientation: originalityImage.imageOrientation)
        
        //完成绘制
        UIGraphicsEndImageContext()
        return darkImage
    }

来使用一下吧

        let imageView = UIImageView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
        view.addSubview(imageView)
        
        let image = UIImage(named: "crab.JPG")
        imageView.image = image

原图如下:

Simulator Screen Shot 2016年4月23日 下午5.55.15.png

设置图片渲染色后:

var image = UIImage(named: "crab.JPG")
        image = tintedImageWithColor(UIColor.greenColor(), originalityImage: image)
        imageView.image = image

效果如下:

Simulator Screen Shot 2016年4月23日 下午5.59.06.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,271评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,512评论 4 61
  • 3月末最后一个时间,我提交更新了3月新开发的版本,算了一下大概有2年没有提交过App Store了,下面介绍一下2...
    画一幅_素颜阅读 516评论 1 1
  • 昨天一睁眼就看到,yoga求婚成功了,那一整天我也沉浸在他的幸福中,这么多年过去,陪伴我们度过青春的偶像一个个都结...
    春风和牧阅读 265评论 0 0
  • 开始安静的喝茶是近来的事,细想却记不起来了。 慢慢的倒一杯茶,看热腾腾的水汽从壶口冒出,萦绕在茶杯之上...
    修凡悟真阅读 302评论 0 1

友情链接更多精彩内容