完全に動作するこのコードが見つかりました。しかし、スクロールビューのサイズを使用します。私は自分のサイズを使いたい。iOS - UIScrollViewの可視領域のスクリーンショットをサイズで取得しますか?
UIScrollView *contentScrollView;....//scrollview instance
UIGraphicsBeginImageContextWithOptions(contentScrollView.bounds.size,
YES,
[UIScreen mainScreen].scale);
//this is the key
CGPoint offset=contentScrollView.contentOffset;
CGContextTranslateCTM(UIGraphicsGetCurrentContext(), -offset.x, -offset.y);
[contentScrollView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *visibleScrollViewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
私はCGSizeを使用したい場合は、私がCGContextTranslateCTM
のために何を使うべきでしょうか?
EDIT
マイscrollView
サイズは、私は、そのサブビューとしてimageView
を加え350 X 350です。 ユーザーはscrollViewをズームしてスクロールできます。
ユーザーがズーム/スクロールした後、ユーザーは[保存]ボタンをクリックできます。このボタンは、私のスクリーンショットを取るscrollView
上記のコードから。私のスクリーンショットの画像サイズは350 x 350(scrollView
と同じサイズ)です。私は、サイズが1040 x 1040のscrollViewのスクリーンショットを撮り、正しいズーム/スクロールエリアを取得したいと思います。
私はこれを行うことによって、サイズを変更することができます知っている:
UIGraphicsBeginImageContextWithOptions(CGSizeMake(1040, 1040), YES, [UIScreen mainScreen].scale);
しかし、私は新しいサイズに応じたオフセット部分を変更する方法がわかりません。
。 –
はい私はこれを知っています。スクロールビューがズームされるのが問題です。結果画像のオフセットを設定する方法はわかりません。あなたが答えを知っているなら、私を助けてください。ありがとう。 – imstillalive
@imstillalive結果として得られる画像のサイズを変更しようとしていないので、レンダリングするスクロールビューの部分を定義するカスタムオフセットを提供したいだけですか? – Hamish