2011-12-09 33 views
2
UITouch *touch = [touches anyObject]; 
      previousPoint2 = previousPoint1; 
      previousPoint1 = [touch previousLocationInView:m_img]; 
      currentPoint = [touch locationInView:m_img]; 
        // calculate mid point 
      CGPoint mid1 = [self midPoint:previousPoint1 :previousPoint2]; 
      CGPoint mid2 =[self midPoint:currentPoint :previousPoint1]; 
      UIGraphicsBeginImageContext(m_img.frame.size); 
      [m_img.image drawInRect:CGRectMake(0, 0, m_img.frame.size.width, m_img.frame.size.height)]; 
      CGContextRef context = UIGraphicsGetCurrentContext(); 
      CGContextMoveToPoint(context, mid1.x, mid1.y); 
      // Use QuadCurve is the key 
      CGContextAddQuadCurveToPoint(context, previousPoint1.x, previousPoint1.y, mid2.x, mid2.y); 
      NSLog(@"%@",color); 
      CGBitmapContextGetColorSpace(context); 



      // 
      CGContextSetStrokeColorWithColor(context, color.CGColor); 
      CGContextSetLineCap(context, kCGLineCapRound); 
      CGContextSetLineWidth(context,m_width); 
      CGContextStrokePath(context); 
      m_img.image = UIGraphicsGetImageFromCurrentImageContext(); 
      UIGraphicsEndImageContext(); 

我使用此代码进行绘制,但某些圆圈出现在绘制路径中。 我想有多种不同的颜色样式 任何一个可以帮助PLZ ...... the output is like that . i dont want that circleopcity更改时绘图不正确

回答

2
CGContextSetBlendMode(context, kCGBlendModeCopy); 

只有这个缺少