2013-06-19 69 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 
} 

它應該工作。快樂編碼!