如何在iPhone上使不规则形状的透明CALayer变暗?

5

我正在将一张可能具有不规则透明度的图像放入CALayer中:

 theCardLayer.front = [CALayer layer];
 theCardLayer.front.contents = (id)[cardDrawing CGImage];

换句话说,它可能是填充图层的正方形,也可能是八边形,留下角落透明。
我想有时候加深这个图层的颜色,但不要加深透明的部分。有什么编程方法可以实现吗?
2个回答

1

看一下 CGBlendMode;通过创建一个新的 CGBitmapContext,绘制图像和灰色填充,然后将结果图像分配给您的图层,可以很好地完成乘法混合。


1
是的,但非常慢。一只蜗牛跑得更快。 - openfrog

0
你可以使用 CGShapeLayer。将它的路径设置为你想要绘制的形状。如果需要,你还可以将形状图层用作其他图层的蒙版。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接