iOS:使用透明背景向图像上下文添加轮廓/描边

时间:2014-01-07 06:24:07

标签: ios objective-c xcode

这里经过的图像是具有透明背景的不同形状的PNG。除了合并它们(工作正常),我想给新图像一个像素厚的轮廓。但我似乎无法做到这一点。

(所以只是为了澄清一下,我是围绕上下文中实际形状的轮廓,而不是整个图像周围的矩形。)

+ (UIImage *)mergeBackgroundImage:(UIImage *)backgroundImage withOverlayingImage:(UIImage *)overlayImage{
    UIGraphicsBeginImageContextWithOptions(backgroundImage.size, NO, backgroundImage.scale);
    [backgroundImage drawInRect:CGRectMake(0, 0, backgroundImage.size.width, backgroundImage.size.height)];
    [overlayImage drawInRect:CGRectMake(backgroundImage.size.width - overlayImage.size.width, backgroundImage.size.height - overlayImage.size.height, overlayImage.size.width, overlayImage.size.height)];

//Add stroke.

    UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return result;
}

谢谢你的时间!

马库斯

1 个答案:

答案 0 :(得分:0)

如果您将CALayer的背景设置为图像的CGImage,则可以将其用作需要大纲1的图层的遮罩层。一旦你完成了这个,你可以将你的图层渲染到另一个上下文中,然后从中获取另一个UIImage。

  1. //编辑:类似this回答中描述的内容。