使用.png将UIView剪辑到UIIimage(UIImageView)

时间:2012-04-19 20:32:15

标签: objective-c ios cocoa-touch

我有一些UIImage。所有这些都是.png格式。我需要将另一个Image或UIView剪辑到UIImage的不透明部分。一些图像在外边缘周围有一些透明度。如果我使用clipsToBounds,它将只剪辑到UIImageView的帧而不是实际图像。如果我将线条修剪成相同的高度,它在中心看起来会很好,但我需要将线条偏离中心向右或向左偏移。请参阅照片以获得更好的解释。我尝试了一些使用Core Gaphics的方法,但是,我还没有找到解决方案。

enter image description here

2 个答案:

答案 0 :(得分:4)

您可以尝试使用CALayer的{​​{1}}媒体资源。 它允许您定义

  

一个可选图层,其Alpha通道用作要选择的蒙版   在图层的背景和合成的结果之间   图层内容及其过滤后的背景。

要将视图屏蔽为.png,请将遮罩层的mask设置为contents

请记住导入CGImageRef框架! ;)
Reference

答案 1 :(得分:2)

看看CALayer的面具属性。您可以设置一个不透明度的图层将用作视图图层的alpha信息(yourUIImageView.layer.mask)。

E.g。您可以使用CAGradientLayer为视图添加Alpha渐变,或者如果它具有Alpha通道,则使用其他UIImageview的图层。

编辑:Jenox更快并提供了更多信息,因此他的答案应该标记为正确。