5
透明な背景の上に中央の画像があります。私はそれらのすべてに白い枠線を追加したいと思います。もし私が画像の不透明部分の境界のパスを持っていたら、それを描くことができました。これを抽出することは可能ですか?透明なUIImageの周りのUIBezierPath
透明な背景の上に中央の画像があります。私はそれらのすべてに白い枠線を追加したいと思います。もし私が画像の不透明部分の境界のパスを持っていたら、それを描くことができました。これを抽出することは可能ですか?透明なUIImageの周りのUIBezierPath
あなたはそれを行うことができるいくつかの方法があります。init
あなたのカスタムサブビューの方法でこれをすべて行います。最初に境界線の色を設定します。ここではあなたがそれを設定することができる方法である。
borderColor = [UIColor greenColor];
と
borderColor=[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"anyImageName.jpg"]]; //[UIColor colorWithPatternImage:];
次
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:_yourImageView.frame cornerRadius:1.0];
[path setLineWidth:5.0];//set width as per your requirement.
そして最後としてUIBezierPathを割り当てるには、あなたのdrawRect
メソッドをオーバーライド
- (void)drawRect:(CGRect)rect
{
[borderColor setStroke];
[path strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];//alpha handles the transparency
}
としてそれは動作するはずです。ハッピーコーディング!
同じことは、レイヤーにシャドウを追加することで達成できます。 [これを試してください](http://stackoverflow.com/a/5428108/2487322) – Idles
'UIImageView'の画像ですか?もしそうなら、ボーダーを追加するもっと簡単な方法はレイヤーを使うことです。例えば、myImageView.layer.borderColor = [UIColor whiteColor] .CGColor'と 'myImageView.layer.borderWidth = 2.f'あなたのターゲットにQuartzCoreフレームワークを追加し、' #import 'を実行します。 –
bobnoble
私は正方形の影や境界線が欲しくないので、それに含まれる画像と同じ形にしたい。 – lavoy