UIView を UIImage に変換したい
- (UIImage *)renderToImage:(UIView *)view {
if(UIGraphicsBeginImageContextWithOptions != NULL) {
UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0);
} else {
UIGraphicsBeginImageContext(view.frame.size);
}
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
2 つの質問:
ビューにサブビューがあります。サブビューなしでビューのイメージを作成する方法はありますか? 理想的には、後で追加するためだけにそれらを削除する必要はありません。
また、Retina デバイスで画像を適切にレンダリングしていません。ここのアドバイスに従って、オプションでコンテキストを使用しましたが、役に立ちませんでした。Retinaディスプレイで品質を落とさずにUIViewをUIImageにキャプチャする方法