想要Zoomed Image的位置

时间:2012-10-08 16:19:45

标签: iphone objective-c ios ipad uiscrollview

在我的iPad应用程序中,我想缩放图像,如果有人滚动缩放的图像进行查看,我想在另一个带有方框的图像视图中显示该人看到的图像部分,就像图像一样下面有红色框。

我知道我可以获得滚动和缩放值,但我怎样才能得到这个位置?

enter image description here

1 个答案:

答案 0 :(得分:1)

我不知道你如何缩放它,但更好的方法是使用

  1. 的UIScrollView
  2. 将imageview添加到其中
  3. 使用scrollview的委托方法,例如
    • (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
    • (void)scrollViewDidZoom:(UIScrollView *)scrollView
    • (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
  4. 您可以通过ScrollView.contentOffset.x和y获得缩放区域。然后使用UIGraphic绘制rectange它将是这样的

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

    请参阅以下链接以绘制矩形:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIKitFunctionReference/Reference/reference.html

    完成绘制矩形后,您可以通过以下函数

    获取具有rectange的图像
    IImage *image = UIGraphicsGetImageFromCurrentImageContext();
    //show above image in another imageview