加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

[swift] UIImage NSImage PNG透明区域填充自定义颜色实现

发布时间:2020-12-14 06:06:42 所属栏目:百科 来源:网络整理
导读:使用场合:魔方旋转控制按钮https://github.com/zephyrluo/magic extension UIImage { public func maskWithColor(color: UIColor) - UIImage { UIGraphicsBeginImageContextWithOptions(self.size,false,self.scale) let context = UIGraphicsGetCurrentCon

使用场合:魔方旋转控制按钮https://github.com/zephyrluo/magic

extension UIImage {
    public func maskWithColor(color: UIColor) -> UIImage {
        
        UIGraphicsBeginImageContextWithOptions(self.size,false,self.scale)
        let context = UIGraphicsGetCurrentContext()!
        
        let rect = CGRect(origin: CGPoint.zero,size: size)
        
        color.setFill()
        
        context.fill(rect)
        context.setBlendMode(.copy)
        self.draw(in: rect)
        
        let resultImage = UIGraphicsGetImageFromCurrentImageContext()!
        UIGraphicsEndImageContext()
        return resultImage
    }
}

extension NSImage {
    convenience init(color: NSColor,img: NSImage,size: NSSize) {
        self.init(size: size)
        lockFocus()
        color.drawSwatch(in: NSRect(origin: .zero,size: size))
        img.draw(in: NSRect(origin: .zero,size: size),from: NSRect(origin: .zero,size: img.size),operation: NSCompositeSourceOver,fraction: 1)
        unlockFocus()
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读