1

手伝って頂けますか ??touches イベントの何かが正しく動作しません。私のペイント領域は 900 x 700px で、完全な UIView ではありません。コンソール エラーで次のように表示されます。

  CGContextAddLineToPoint: invalid context 0x0
  CGContextMoveToPoint: invalid context 0x0
  CGContextSetRGBStrokeColor: invalid context 0x0
  CGContextSetLineWidth: invalid context 0x0......
  .......
  .......

UIGraphicsGetCurrentContext が正しくないのはなぜですか??

このエラーを修正するにはどうすればよいですか

私のコード:

- (void)**touchesMoved**:(NSSet *)touches withEvent:(UIEvent *)event {

mouseSwiped = YES;
UITouch *touch = [touches anyObject];
CGPoint currentPoint = [touch locationInView:self.tempDrawImage];

UIGraphicsBeginImageContext(self.tempDrawImage.frame.size);
[self.tempDrawImage.image drawInRect:CGRectMake(0, 0, self.tempDrawImage.frame.size.width, self.tempDrawImage.frame.size.height)];

CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);

CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), brush );
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), red, green, blue, 1.0);
CGContextSetBlendMode(UIGraphicsGetCurrentContext(),kCGBlendModeNormal);

CGContextStrokePath(UIGraphicsGetCurrentContext());
self.tempDrawImage.image = UIGraphicsGetImageFromCurrentImageContext();
[self.tempDrawImage setAlpha:opacity];
UIGraphicsEndImageContext();

lastPoint = currentPoint;
4

1 に答える 1

0

これは、このリンクを見てください: 無効なコンテキスト エラーの前に回答されています。

ビューをサブクラス化し、コードを drawRect メソッドに配置すると、うまくいきました。

于 2013-03-31T00:42:11.063 に答える