2013-06-19 31 views
5

我有一系列以透明背景为中心的图像。我想为它们添加一个白色边框,如果我有图像的不透明部分的边框路径,我可以绘制它。可以提取这个吗?带有透明度的UIImage周围的UIBezierPath

+0

您可以通过向图层添加阴影来完成相同的操作。 [试试这个](http://stackoverflow.com/a/5428108/2487322) – Idles

+0

UIImageView中的图像?如果是这样,添加边框的更简单的方法是使用图层。例如,'myImageView.layer.borderColor = [UIColor whiteColor] .CGColor'和'myImageView.layer.borderWidth = 2.f'您需要将QuartzCore框架添加到您的目标,并且#import .m文件中使用图层。 – bobnoble

+2

我不想要一个正方形的阴影或边框,我希望它与它所包含的图像具有相同的形状。 – lavoy

回答

-2

有几种方法可以做到这一点..做到这一切在init方法你的自定义子视图的东西。首先你设置边框颜色。这里是你可以将其设置方式:

borderColor = [UIColor greenColor]; 

borderColor=[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"anyImageName.jpg"]]; //[UIColor colorWithPatternImage:]; 

下一页分配UIBezierPath作为

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:_yourImageView.frame cornerRadius:1.0]; 
[path setLineWidth:5.0];//set width as per your requirement. 

而在去年,覆盖您drawRect方法

- (void)drawRect:(CGRect)rect 
{ 
    [borderColor setStroke]; 
    [path strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];//alpha handles the transparency 
} 

它应该工作。快乐编码!