在ios应用程序中绘图

时间:2013-07-25 05:41:46

标签: ios

我想在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;  ////

1 个答案:

答案 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];

使用您要自定义图形的参数更新视图。