[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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,315評論 25 708
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,241評論 4 61
  • 3月末最后一個時間,我提交更新了3月新開發的版本,算了一下大概有2年沒有提交過App Store了,下面介紹一下2...
    畫一幅_素顏閱讀 472評論 1 1
  • 昨天一睜眼就看到,yoga求婚成功了,那一整天我也沉浸在他的幸福中,這么多年過去,陪伴我們度過青春的偶像一個個都結...
    春風和牧閱讀 216評論 0 0
  • 開始安靜的喝茶是近來的事,細想卻記不起來了。 慢慢的倒一杯茶,看熱騰騰的水汽從壺口冒出,縈繞在茶杯之上...
    修凡悟真閱讀 234評論 0 1