1

我正在绘制贝塞尔曲线,而不是记住每一个贝塞尔曲线并在每一帧都重新绘制它,我偶尔会用以下方式拍摄图像:

+ (UIImage *) imageWithView:(UIView *)view: (CGRect)theBounds
  {
    UIGraphicsBeginImageContextWithOptions(theBounds.size, NO, 0.0);
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];

    UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();

 return img;
 }

然后我在每个 drawRect 的开头绘制图像,在它们进入时添加新路径,偶尔再拍一张照片,然后重复。

有没有更好的办法?它有效,但我觉得“愚蠢”。

4

2 回答 2

0

顺便说一句,这更好,虽然我不同意“非破坏性”这个词。我希望我在项目开始时就找到了以下内容,但我永远不会搜索“非破坏性”。虽然,谁会搜索“累积”?大声笑我不是最聪明的

UIView:如何进行无损绘图?

于 2013-03-30T18:42:34.883 回答
0

Ahaaa 层上下文。这就是你要说的。

http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGLayer/Reference/reference.html

于 2012-09-15T07:18:21.793 回答