4

アプリケーションに線の描画を統合しました。私はOpenGlまたは他の同様のフレームワークを使用していません。今、私はこれらの線にグロー効果を与えたいと思います。それを行う方法はありますか?

4

1 に答える 1

2

以下のコードのように線を描くためにUIBezierPathを使用してください...

次のようにUIBezierPathを初期化できます

    UIBezierPath *myPath=[[UIBezierPath alloc]init];
    myPath.lineWidth=10;
    brushPattern=[UIColor redColor]; //This is the color of my stroke

次に、タッチの座標を処理および追跡するタッチメソッドがあります。画面上でタッチが始まると、UIBezierPathにそのタッチポイントに移動するように要求します

UITouch *mytouch=[[touches allObjects] objectAtInd
[myPath moveToPoint:[mytouch locationInView:self]];

指を動かしながら、TouchMovedメソッドのBezierPathにこれらのポイントを追加し続けます。

UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
[myPath addLineToPoint:[mytouch locationInView:self]];

画面を常に更新する必要があるため、描画するとすぐに画面に表示されるように、TouchMethodで次のメソッドを呼び出してUIViewサブクラスを更新し、BezierPathに変更が加えられるとすぐに反映されるようにします。画面。

[self setNeedsDisplay];

すべての描画を行うdrawRectメソッドについて言えば、画面上でストロークの色(ストロークの色は画面上でペイントが行われる色を意味します)とブレンドモードを設定する必要があります。別のブレンドモードを試して、結果を確認できます。

- (void)drawRect:(CGRect)rect
{
    [brushPattern setStroke];
    [myPath strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];

}

以下のリンクも参照してください。

http://soulwithmobiletechnology.blogspot.in/2011/05/uibezierpath-tutorial-for-iphone-sdk-40.html

これがお役に立てば幸いです...

:)

于 2012-10-02T12:40:27.613 に答える