我想在ios中绘制uiimageview。我可以在整个屏幕上绘制绘图,但我只想在特定区域绘制绘图。我的代码是: -
UITouch *touch = [touches anyObject];
currentPoint = [touch locationInView:self.view]; //// tracing whatever ur finger touching the screen
NSLog(@"%data",currentPoint);
UIGraphicsBeginImageContext(CGSizeMake (300,568)) ; /// (300,568)); //// 320, 568, 480 iph4 screen ,568 ip5 screen
[drawImage.image drawInRect:CGRectMake(0,0, 300,568)]; //(0,0, 300,568)];
CGContextSetLineCap(UIGraphicsGetCurrentContext (), kCGLineCapRound); // round line
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 18.0); //// LINE WIDTH DIAMETER THE STROKE
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1, 1, 1, 1); ///// RGB COLOUR
CGContextBeginPath(UIGraphicsGetCurrentContext()); ///// START WHEN WE DRAW THE PATH.
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); /////
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
// CGContextStrokePath(UIGraphicsGetCurrentContext()) ;
[drawImage setFrame:CGRectMake (0,0, 300, 568)]; //// (0, 0, 300,568)]; ///(100, 100, 150,280)];
drawImage.image = UIGraphicsGetImageFromCurrentImageContext(); ///// WHOLE UPPER PARA defined
UIGraphicsEndImageContext(); //// DONE DRAWING
lastPoint = currentPoint; ////
答案 0 :(得分:0)
创建UIView的子类并覆盖drawRect
- (void)drawRect:(CGRect)rect
{
// do your drawing here
}
将您的视图作为子视图添加到UIImageView
MyCustomView *customView = [[MyCustomView alloc] initWithFrame:self.imageView.bounds];
[self.imageView addSubview:customView];
使用您要自定义图形的参数更新视图。