我遇到了一些我无法弄清楚的事情......
我的应用程序允许用户通过UIScrollView缩放/平移缩略图图像。然后,它需要在滚动视图中进行用户所做的更改,并以更高的分辨率将它们应用于同一图像(即,生成与用户触摸的缩放/平移低分辨率缩略图相同的高分辨率UII图像。 )。
我可以看到scrollview有一个我可以重用的zoomscale和contentOffset,但我真的看不出如何将它应用到我的UIImage中。
所有人都非常感谢,谢谢!
答案 0 :(得分:1)
zoom scale
的{{1}},contentOffset
和frame
会显示缩略图的子矩形。
根据图像的较高分辨率版本按比例重新缩放该矩形。
例如
您的滚动条的界限为UIScrollView
x 100px
您的缩略图为100px
x 100px
,缩放为100px
,内容偏移为4x
。你会看到一个子矩形的框架(x:25,y:25,w:25,h:25)对着滚动条的100x100窗口内的原始缩略图,即模糊。宽度和高度来自卷轴框架。
一旦您翻转(x:100,y:100)
x 1000px
的高分辨率图像,您将要呈现图像的同一块,除非您现在通过将缩放设置为1000px
来呈现(x:250,y:250,w:250,h:250)
。 0.4
保持不变。
请注意,显示整个缩略图图像的contentOffset
和零偏移的缩放是1x
的缩放和相对较高分辨率的零偏移。
但是
你正在思考这个问题。您的容器0.1x
为您完成所有工作。一旦达到目标缩放点,只需将较高分辨率的图像加载到imageView(UIImageView
)中,假设您的contentMode设置为myImageView.image = hiresImage
(Scale To Fill
)或{ {1}}。低分辨率图像将被高分辨率版本替换为恰好正确的位置。