0

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

1 回答 1

0

Create a subclass of UIView and override drawRect

- (void)drawRect:(CGRect)rect
{
    // do your drawing here
}

Add your view as a subview to your UIImageView

MyCustomView *customView = [[MyCustomView alloc] initWithFrame:self.imageView.bounds];
[self.imageView addSubview:customView];

Update your view with the parameters you want to customize the drawing.

于 2013-07-25T14:43:40.847 回答