1

あなたがうまくいくことを願っています。

私の視界には円があります。それにアニメーションを適用しました。反時計回りにアニメーションするようにします。今、以下の行を使用してビュー画像をキャプチャすると

UIGraphicsBeginImageContext(self.view.frame.size);
        [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
        viewImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

アニメーション部分ではなく元のレイヤーを表示します。つまり、アニメーションをキャプチャしないという簡単な言葉です。

半円が残っているという問題(アニメーション後)を説明する言葉がいくつかあります。画像をキャプチャした後、半分ではなく完全な円になります。

私はあまり明確ではないと思いますが、そうであるように最善を尽くしました。私の問題に関してさらに質問がある場合は、私に尋ねてください。

ありがとうございます。

4

1 に答える 1

0

私はインターネットで2時間ほどたくさん検索し、ついに問題の解決策を見つけました。シナリオをもう一度説明します。反時計回りにアニメーションしている円があり、プッシュボタンで画面の画像を撮影する必要がありました。ボタンを押すと完全な円が表示されるという問題が発生しました(ただし、実際には半分または円の残りの部分)。

だから私は非常に簡単な解決策を見つけました、これらの行を置き換えるだけです

        UIGraphicsBeginImageContext(self.view.frame.size);
        [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
        viewImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

これらと

CGImageRef screen = UIGetScreenImage();
UIImage *shareImage = [UIImage imageWithCGImage:screen];
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
于 2012-12-25T12:06:55.747 に答える