简单我有两个人的UIImageView图标,它看起来像这样:
但是当我将tintColor
设置为红色时,它看起来像这样:
有没有办法避免覆盖每个非零-α像素?我需要在那里展示 tie 。有一次我需要人红,其他时间需要绿色。
图标是简单的png文件。圆形圆圈是UIImageView的简单背景颜色。因此, tie 的图片部分不能零-α。
有没有办法实现这样的效果没有为每种颜色创建图像?
答案 0 :(得分:1)
这与我一直在玩的另一个想法类似,所以我做了一些更多的摆弄......
从这3张图片开始:
然后将它们用作SELECT DISTINCT `blueid`,`scannerid`,`datetime`
FROM discovereddevices
WHERE date(datetime) = CURRENT_DATE.
来提供所需的颜色......然后通过.withRenderingMode(.alwaysTemplate)
对它们进行分层以获得:
和#34;爆炸"为了清楚起见...
创建一个图像,其中"人员" 100%透明 - 有效"孔"在图像中。
将UIImageView的背景颜色设置为" fill"颜色。
如果您不想将白色边框作为图像的一部分,您仍然可以用圆圈(例如CAShapeLayer)对其进行遮罩。
原始图片:
https://i.stack.imgur.com/eFrmB.png
https://i.stack.imgur.com/2GNDX.png
答案 1 :(得分:0)
使用CISpotColor过滤器:
这允许您指定图像中要更改为其他颜色的颜色。因此,既然您知道领带的原始颜色和背景,您可以一次性更改它们中的任何一个或两个。