使用Quartz2D绘制几个'Images'数组问题?

时间:2011-07-31 11:52:36

标签: iphone objective-c xcode quartz-2d

我正在尝试制作一个简单的绘图应用程序来学习。到目前为止我得到了这个:

CGContextRef context = UIGraphicsGetCurrentContext();


CGContextSetLineWidth(context, 2.0);

CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();

CGFloat components[] = {0.0, 0.0, 0.0, 1.0};

CGColorRef color = CGColorCreate(colorspace, components);

CGContextSetStrokeColorWithColor(context, color);

CGPoint firstPoint = [[self.array objectAtIndex: 0] CGPointValue];

CGContextMoveToPoint(context, firstPoint.x, firstPoint.y);

for (int i = 0; i < [self.array count]; i++) {
  CGPoint nextPoint = [[self.array objectAtIndex:i] CGPointValue];
   CGContextAddLineToPoint(context, nextPoint.x, nextPoint.y);
}

CGContextStrokePath(context);
CGColorSpaceRelease(colorspace);
CGColorRelease(color);
}

到目前为止,一切都有效,它会在您触摸的位置绘制并在数组中添加坐标。如果您停止触摸并触摸另一个点,它会连接您之前绘制的路径。我实际上不想要的。所以我想在触摸结束后创建一个新阵列。我完全错了还是正确的做事方向?有时候我错过了编程的逻辑,但是嘿,我还在学习!

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果要收集在数组中绘制内容的触摸,并且还希望能够绘制单独的曲线,则应在每个touchesBegan处创建一个新数组。你也可以在touchesEnd中做到这一点,它没有太大的不同。如果你真的需要将触摸坐标存储在一个数组中,我不确定,这取决于你的整体功能......