0

私のiPadアプリでは、画像をズームしたいのですが、誰かがズームされた画像をスクロールして表示する場合、下の画像のように、その人が見た画像の一部を正方形のフレームで別の画像ビューに表示したいと考えています。赤い箱。

スクロールとズームの値を取得できることはわかっていますが、位置を取得するにはどうすればよいですか?

ここに画像の説明を入力

4

1 に答える 1

1

どのようにズームしているのかわかりませんが、より良い方法は使用することです

  1. UIScrollView
  2. それにイメージビューを追加します
  3. 次のようなスクロールビューのデリゲートメソッドを使用します
    • (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
    • (void)scrollViewDidZoom:(UIScrollView *)scrollView
    • (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale

ScrollView.contentOffset.x と y でズーム領域を取得できます。次に、UIGraphic を使用して四角形を描画します。次のようになります。

GRect rect // original frame
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();

四角形の描画については、次のリンクを参照してください: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIKitFunctionReference/Reference/reference.html

長方形の描画が終了したら、次の関数で長方形の画像を取得できます

IImage *image = UIGraphicsGetImageFromCurrentImageContext();
//show above image in another imageview
于 2012-10-08T18:43:31.207 に答える