【文件属性】:
文件名称:UIImageView实现触摸绘图
文件大小:41KB
文件格式:ZIP
更新时间:2015-08-09 16:36:50
UIView绘图 触摸绘图
核心代码,使用UIImageView实现触摸绘图, 比起使用数组实现要强很多, 使用数组会很费内存,高手请过。minixx新手学习资料保存
//监听触摸事件
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
currentPoint = [touch locationInView:self];
NSLog(@"currentPoint.x = %f",currentPoint.x);
NSLog(@"currentPoint.y = %f",currentPoint.y);
UIGraphicsBeginImageContext(self.frame.size);
[drawImage.image drawInRect:CGRectMake(0, 0, drawImage.frame.size.width, drawImage.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0);//设置宽度
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0.0, 0.0, 0.0, 1.0);//设置颜色
CGContextBeginPath(UIGraphicsGetCurrentContext());//开始路径
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);//起始点坐标
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(),currentPoint.x, currentPoint.y);//终点坐标
CGContextStrokePath(UIGraphicsGetCurrentContext());//开始绘制
//将画好得生成image保存在原图片//////////
drawImage.image = UIGraphicsGetImageFromCurrentImageContext();//把图形上下文
UIGraphicsEndImageContext();
lastPoint = currentPoint;
// [self setNeedsDisplay];
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
}
【文件预览】:
TestPaint
----.DS_Store(6KB)
----TestPaint()
--------main.m(344B)
--------TestPaint-Prefix.pch(321B)
--------AppDelegate.h(372B)
--------AppDelegate.m(2KB)
--------TestPaint-Info.plist(1KB)
--------PaintView.h(341B)
--------PaintView.m(2KB)
--------ViewController.h(223B)
--------ViewController.m(840B)
--------en.lproj()
----TestPaint.xcodeproj()
--------project.xcworkspace()
--------project.pbxproj(12KB)
--------xcuserdata()
网友评论
- 资源太好了啊
- 简单易懂,很有帮助的,谢谢你无私的分享
- 简单易懂,很有帮助的,谢谢分享
- 很实用 谢谢你无私的分享
- 比较简单的demo,很容易理解