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

ああああレイヤーコンテキスト。それはあなたが言わなければならなかったすべてです。

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

于 2012-09-15T07:18:21.793 に答える
0

ところで、「非破壊的」というフレーズには同意しませんが、これは優れています。プロジェクトの開始時に以下を見つけていればよかったのですが、「非破壊的」を検索することはありませんでした。とはいえ、誰が「累積的に」を検索するでしょうか? 笑 私は賢くありません

UIView: 非破壊的な描画を行うには?

于 2013-03-30T18:42:34.883 に答える