UIGraphicsGetCurrentContext

UIGraphicsGetCurrentContext

brushSize=1.0f;
UIGraphicsBeginImageContext(self.view.frame.size);
[drawImage.image drawInRect:CGRectMake(0, 0, drawImage.frame.size.width, drawImage.frame.size.height)]; //originally self.frame.size.width, self.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapButt); //kCGLineCapSquare, kCGLineCapButt, kCGLineCapRound
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), brushSize);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 1.0, 0.0, 1.0);
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x+brushSize*4,lastPoint.y-brushSize);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), lastPoint.x-brushSize, lastPoint.y+brushSize*4);
CGContextStrokePath(UIGraphicsGetCurrentContext());
CGContextFlush(UIGraphicsGetCurrentContext());
drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();


我正在使用此代码进行绘图...已感动。

当我快速绘图时,我确实会出现缝隙...该怎么办?

最佳答案

您应该使用UITouch的previousLocationInView:方法来获取您之前用过的已知点,并在该点和当前位置之间画一条线。

另一种解决方案是在两个调用之间将currentPoint保留在静态变量中。

关于iphone - 画线问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3757887/

10-16 23:33