向UIimage添加边框

时间:2012-12-13 16:56:12

标签: iphone ios xcode uiimageview uiimage

我有一些关于为UIimage添加边框的问题:

1)无论如何都要为uiimageview的图像添加动态边框?我尝试使用[layer setBorderColor:[UIColor whiteColor].CGColor];添加边框但是边框只显示在uiimageview的框架周围(正方形或矩形)。我的所有图像都是粗黑色轮廓和自定义形状(例如hellokitty),我想在轮廓周围添加边框。这有可能吗???

(我也尝试在图像周围添加阴影,但结果太模糊了,无论如何要让它们变得坚固?我认为这是解决我问题的另一种方法)

2)另外,如果我可以绘制自定义形状边框以粘贴图像,是否可以在边框内填充颜色??,因为我的一些图像没有填充颜色,任何想法??

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您的图像是透明的,随机形状(即图像的轮廓是hello kitty的形状),那么我会接近这个......

首先,在这里忽略UIImageView。更容易创建自定义UIView子类。

在你的观点的drawRect中......

- (void)drawRect:(CGRect)rect
{
    // calculate the rect of the image (aspect ratio etc...) so that it fits in the rect.
    // see this link https://stackoverflow.com/questions/7645454/resize-uiimage-by-keeping-aspect-ratio-and-width

    // change the colour of the image to black (or the border colour you want).
    // see this link http://coffeeshopped.com/2010/09/iphone-how-to-dynamically-color-a-uiimage

    // draw the black image in the rect you calculated

    // make a new rect that is smaller by in x and y than the one for the black image.
    // You can change it by different amounts to change the border size

    // draw the colour image in the new rect
}

每一步都需要相当多的代码,所以我只提出链接和建议,但如果我正在尝试做你正在做的事情,这就是我要做的事情。

链接1 - Resize UIImage by keeping Aspect ratio and width

链接2 - http://coffeeshopped.com/2010/09/iphone-how-to-dynamically-color-a-uiimage