使用过滤器将边框添加到UIImage的不透明区域的边缘

时间:2014-08-18 17:01:44

标签: ios objective-c uiimage drawing border

您好:目前在我的项目中,我使用OBShapedButton来处理重叠的很多对象的触摸(它是一个地图,每个地区都有自己独立的对象)。基本上,此库可防止在给定视图上的透明点上处理触摸。

我尝试将边框效果添加到UIImage 不透明 部分的边缘(并添加半透明)叠加在上面)。对此产生影响:

Example

可以简化为此(一个图像的示例): Simplified example

我目前正在使用MGImageUtilities使用此行在地区的不透明部分进行着色:

[territory setImage:[[territory image] imageTintedWithColor:tint]];

问题在于我不确定如何为边框着色(可以 任何形状 )。我已经看过this link,但还没有能够提出任何建议。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

非常hacky,但使用MGImageUtilities' UIImage+ProportionalFill进行缩放调整以创建稍大的图像,UIImage+Tint为红色,并在下方堆叠。

答案 1 :(得分:0)

您正在使用的库实际上并未指定形状图层。它使用您提供的PNG中的alpha值。

您可以使用不同的“突出显示”或“选定”PNG来添加您想要的边框效果吗?

否则,您必须从PNG图像生成UIBezierPath,这听起来像是一个计算密集型操作。那时,我可能会质疑这个库是否符合您的需求。