当前位置:  开发笔记 > IOS > 正文

Swift UIView具有乘法效果

如何解决《SwiftUIView具有乘法效果》经验,为你挑选了1个好方法。

我几个小时试图达到的目标如下: 在此输入图像描述

我想UIImage在背景中有一个,然后最好是UIView背景颜色为红色,带有某种倍增效果(红色区域).这可能吗?我已经看到UIImage的一些扩展为它们着色,但这只有在我希望我的整个图像具有红色乘法色效果时才有效.

谢谢



1> Kex..:

你可以在UIImageView的顶部添加一个红色的UIView.调整alpha以使其透明:

let someView = UIView(frame: someImageView.frame)
someView.backgroundColor = UIColor(colorLiteralRed: 255.0/255.0, green: 0, blue: 0, alpha: 0.5)
someImageView.addSubview(someView)

使用乘法代替:

let img = UIImage(named: “background”)
let img2 = UIImage(named: “effect”) //Make sure this is your red image same size as the background


let rect = CGRect(x: 0, y: 0, width: img.size.width, height: img.size.height)

UIGraphicsBeginImageContextWithOptions(img.size, true, 0)
let context = UIGraphicsGetCurrentContext()

// fill the background with white so that translucent colors get lighter
CGContextSetFillColorWithColor(context, UIColor.whiteColor().CGColor)
CGContextFillRect(context, rect)

img.drawInRect(rect, blendMode: .Normal, alpha: 1)
img2.drawInRect(rect, blendMode: .Multiply, alpha: 1)

// grab the finished image and return it
let result = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有