我想画线,像粉笔一样。线的边缘很模糊。就像用粉笔在黑板上画画一样。
我怎么得到这个?
现在,我已经使用图像绘制了线条,但是看起来并不像在黑板上画线,因为线条并不模糊。
请给我一些建议。
这是我的代码:
for (NSDictionary *dictStroke in self.arrayStrokes)
{
NSArray *arrayPointsInstroke = [dictStroke objectForKey:@"points"];
//UIColor *color = [dictStroke objectForKey:@"color"];
UIColor *color = [UIColor colorWithPatternImage:[UIImage imageNamed:@"point.png"]];
float size = [[dictStroke objectForKey:@"size"] floatValue];
[color setStroke]; // equivalent to both setFill and setStroke
// draw the stroke, line by line, with rounded joints
UIBezierPath* pathLines = [UIBezierPath bezierPath];
CGPoint pointStart = CGPointFromString([arrayPointsInstroke objectAtIndex:0]);
[pathLines moveToPoint:pointStart];
for (int i = 0; i < (arrayPointsInstroke.count - 1); i++)
{
CGPoint pointNext = CGPointFromString([arrayPointsInstroke objectAtIndex:i+1]);
[pathLines addLineToPoint:pointNext];
}
pathLines.lineWidth = size;
pathLines.lineJoinStyle = kCGLineJoinRound;
pathLines.lineCapStyle = kCGLineCapRound;
[pathLines stroke];
arraynum++;
}
最佳答案
尝试使用带有斑马线的图案图像。那会给你像粉笔一样的效果。
brushPattern = [[UIColor alloc]initWithPatternImage: [UIImage imageNamed:@"pattern.jpg"]];
- (void)drawRect:(CGRect)rect
{
[brushPattern setStroke];
[myPath strokeWithBlendMode:kCGBlendModeNormal alpha:1.0]; // myPath - points to be drawn
}