我想画图UIImageView
,下面是我的画图代码。我的图像视图模式适合宽高比。当我使用以下代码进行绘制时,由于我正在使用drawinrect
并给出矩形,UIImageView
所以所有图像都被缩小到`imageview. 我想绘制图像大小的图像而不是图像视图。因为我正在检测图像视图上的触摸点,所以点击点和图像上的实际绘图是不同的。任何人都可以告诉我如何直接在图像上绘图。以及如何计算图像而不是图像视图上的触摸点的这种偏移或差异。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
lastTouch = [touch locationInView:self];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint currentTouch = [[touches anyObject] locationInView:self];
UIGraphicsBeginImageContext(self.image.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.image drawInRect:CGRectMake(0, 0, self.image.size.width, self.bounds.size.height)];
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, _brushSize);
CGContextBeginPath(context) ;
CGContextMoveToPoint(context, lastTouch.x, lastTouch.y);
CGContextAddLineToPoint(context,currentTouch.x,currentTouch.y) ;
CGContextSetAlpha( context , 1 );
CGContextSetStrokeColorWithColor(context, [_brushColor CGColor]);
CGContextStrokePath(context) ;
self.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
lastTouch = currentTouch;
}