我使用UIBezierPath和UIView的-touches...
方法編寫了一個簡單的繪圖代碼。繪圖效果很好,但我做了一些不好的經驗。UIBezierPath繪製線條表示
當我畫得很慢時,效果很好。但是我畫得越快,線條就越尖銳。那麼,我怎樣才能讓他們「順利」變得不那麼尖銳(多點)呢?
當我使用高線寬的
setLineWidth
時,該線變得非常難看。
這裏是一個圖像顯示什麼醜陋實際上意味着:
爲什麼會得出脂肪線以這種方式?
編輯:這裏的一些代碼
- (void)drawInRect:(CGRect)rect
{
for(UIBezierPath *path in pathArray) {
[[UIColor blackColor] setStroke];
[path setLineWidth:50.0];
[path stroke];
}
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
startPoint = [[touches anyObject] locationInView:self];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:startPoint];
[path addLineToPoint:[[touches anyObject] locationInView:self]];
if(isDrawing) {
[pathArray removeLastObject];
}
else {
isDrawing = YES;
}
[pathArray addObject:path];
[path close];
[self setNeedsDisplay];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
isDrawing = NO;
}
我希望有人能幫助我處理這些問題。感謝很多人,祝賀Julian
你能分享設置路徑的代碼嗎? – mprivat
我添加了一些代碼。我是從記憶中寫下來的,所以在某些時候可能會拼寫錯誤 –