0

サブビューを含むコンテナー ビューがあり、一部のサブビューはこのビュー内で回転できます。最後にやりたいことは、回転したサブビューと回転していないサブビューを含むビュー全体のスクリーンショットを撮ることです。画面のスクリーンショットを使用するのではなく、各要素を個別に処理し、それらから画像を作成して、すべての画像を結合することにしました。スクリーンショットを元の画像に拡大する目的でこれを行います。そう...

回転するサブビューを除いて、すべてが正常に達成されます。各サブビューのスクリーンショットを作成するコードは次のとおりです。

UIGraphicsBeginImageContext(subview.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat angle = atan2(rte.transform.b, rte.transform.a);
CGContextRotateCTM (context, angle);
[subview.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

回転したサブビューの問題は次のとおりです。下の画像はわずかに回転したサブビューを示していますが、角が切り取られています。さらに、この画像は左にシフトされています。左右を見比べてください。


(ソース: vunet.us )

小さな元のフレーム内で回転した画像を処理していることがわかったと思います。しかし、それに対する修正は何ですか?使用される任意の角度に対して正確なフレーム サイズを計算するのは少し複雑に思えます。私が見逃している簡単な解決策はありませんか?

4

0 に答える 0