OpenGL
使用していないアプリケーションまたは他の同様のフレームワークに描画線を統合しました。
だから今、私は彼らの線にグロー効果を与えたいのですが、どうすればそれを与えることができますか?
前もって感謝します。
OpenGL
使用していないアプリケーションまたは他の同様のフレームワークに描画線を統合しました。
だから今、私は彼らの線にグロー効果を与えたいのですが、どうすればそれを与えることができますか?
前もって感謝します。
グラフィックスコンテキストでシャドウを設定して、サイズオフセットをゼロにし、ぼかしを約6〜10(好みに応じて変更)にし、ストロークの色と同じ色にします。これにより、後続のすべての描画にグロー効果が与えられます。コマンドは
CGContextSetShadowWithColor()
ここに記載されています。
-(void)drawRect:(CGRect)rect{
[curImage drawAtPoint:CGPointMake(0, 0)];
CGPoint mid1 = midPoint(previousPoint1, previousPoint2);
CGPoint mid2 = midPoint(currentPoint, previousPoint1);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.layer renderInContext:context];
CGContextMoveToPoint(context, mid1.x, mid1.y);
// Use QuadCurve is the key
CGContextAddQuadCurveToPoint(context, previousPoint1.x, previousPoint1.y, mid2.x, mid2.y);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, self.lineWidth);
CGContextSetStrokeColorWithColor(context, self.lineColor.CGColor);
//------------ Glow Lines ----------
if (appDel.BrushType == 201) // (201 is glow brush type)
{
CGContextSetLineWidth(context, 7);
CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();
CGFloat components[4]={appDel.R_color/255.0,appDel.G_color/255.0,appDel.B_color/255.0,1.0};
CGColorRef color1 = CGColorCreate(space, components);
CGContextSetShadowWithColor(context, CGSizeMake( 0.0, 0.0 ), 15, color1);
CGContextStrokePath(UIGraphicsGetCurrentContext());
}
//--------------
CGContextStrokePath(context);
[super drawRect:rect];
[curImage release];
}