我不期待这里有一个非常详细的答案,只是指出正确的方向。
假设我想制作一个像微软绘画或应用程序绘制的绘图程序,我该怎么做?
当我悬停并用鼠标点击时,我是否基本上在像素和附近像素(厚度)上设置颜色?
我打算创建一个应用程序,要求用户以简单的方式绘制内容,因此任何建议都会受到很多关注:)
最好的问候, 亚历山大
答案 0 :(得分:3)
为您的应用程序试用此演示
http://code4app.net/ios/Paint-Pad/4fcf74876803faec66000000
https://www.cocoacontrols.com/controls/smooth-line-view
https://www.cocoacontrols.com/controls/acedrawingview
https://www.cocoacontrols.com/controls/mgdrawingslate
它可能对你有所帮助。
答案 1 :(得分:2)
UIBezierPath
是在UIView
上绘制线条的好选择。对于绘图,您需要自定义视图无法在UIViewController上绘制。
并使用触摸委托方法绘制线条。
在.h文件中声明UIBezierPath *bezierPath;
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
bezierPath=[[UIBezierPath alloc]init];
bezierPath.lineWidth = 5.0;
UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
[bezierPath moveToPoint:[mytouch locationInView:self]];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
[bezierPath addLineToPoint:[mytouch locationInView:self]];
[self setNeedsDisplay];
}
setNeedsDisplay
会调用您的drawRect:
方法。
- (void)drawRect:(CGRect)rect
{
[bezierPath stroke];
}
您可以使用setStroke:
属性更改Storke颜色。完整的想法通过UIBezierPath类引用。
希望这对你有帮助