繁体   English   中英

如何为Apple的iOS大尺寸缩小示例设置最大缩放限制?

[英]How to set a maximum zoom limit for Apple's Large Image Downsizing iOS example?

我在项目中使用Apple的“大图像缩小”示例代码来加载可以缩放的大图像。

可以在此处下载示例项目: Apple大图像缩小

可以在此处直接查看UIScrollView源: ImageScrollView.m

除了用户可以放大到无限远这一事实外,它的效果很好。 似乎在Apple使用UIScrollView的缩放功能时,实际缩放是通过重新缩放源图像而不是通过变换UIView来执行的。 (尽管我对它是如何工作的理解有些不稳定!)

我正在寻找最大缩放比例,将其限制为图像的全分辨率。

我没有意识到该项目,但是它似乎并没有真正满足您的要求。 它使您可以截取非常大的图像文件并缩小尺寸。

有一个github项目PhotoScrollerNetwork ,可让您下载巨大的JPEG图像(一个是NASA 18,000 x 18,000),并在到达它们时对其进行增量解码。 然后,它使用CATiledLayers以减小到足以适合窗口的缩小率显示图像,但是可以缩小到完整的图像分辨率。 这可能更符合您的目标。

该项目基于Apple的PhotoScroller项目,该项目仅适用于预平铺的图像。

编辑:我下载了大图像缩小项目。 它与Apple的PhotoScroller有很多共同点,如果您在后面的项目中打听一下 ,您可能会想出如何限制缩放比例 我怀疑这与以下几行有关:

    self.maximumZoomScale = 5.0f;
    self.minimumZoomScale = 0.25f;

也就是说,我拍摄了叶子图像并将其粘贴到PhotoScrollerNetwork的捆绑软件中,并在iPhone 4上进行了比较。“大图像缩小”项目花了一分钟时间对图像进行解码,您可以在渲染图像时看到图像的增量视图,但是(我认为)它需要磁盘上的整个映像,然后才能继续。

PhotoScrollerNetwork能够在32秒内解码图像-大约只有一半的时间。 如果从网络下载,它将在接收到数据时对图像进行解码,因此从最后一块数据到您看到图像的延迟很小。

PhotoScrollerNetwork提供:

  • 并发图像下载和渲染
  • 自动设置细节级别,以优化全尺寸和全屏显示图像
  • 非常平滑的缩放和平移(由于预渲染的图块)
  • 没有文件保存在磁盘上(但它使用磁盘缓存):这意味着如果应用程序崩溃,则无需清理。

    下面的日志消息:

    2012-09-05 11:46:11.784 LargeImage [2242:3107]开始缩小尺寸。 迭代次数:14,图块高度:754.000000,剩余高度:425 2012-09-05 11:46:11.788 LargeImage [2242:3107]迭代1 of 14 2012-09-05 11:46:13.132 LargeImage [2242:3107]迭代2之14 2012-09-05 11:46:15.148 LargeImage [2242:3107]迭代3之14 2012-09-05 11:46:17.526 LargeImage [2242:3107]迭代4之14 2012-09-05 11: 46:20.627 LargeImage [2242:3107]迭代5之14 2012-09-05 11:46:24.017 LargeImage [2242:3107]迭代6之14 2012-09-05 11:46:27.696 LargeImage [2242:3107]迭代7之14 2012-09-05 11:46:31.823 LargeImage [2242:3107]迭代8之14 2012-09-05 11:46:36.638 LargeImage [2242:3107]迭代9之14 2012-09-05 11: 46:41.791 LargeImage [2242:3107]迭代10 of 14 2012-09-05 11:46:47.309 LargeImage [2242:3107]迭代11 of 14 2012-09-05 11:46:53.299 LargeImage [2242:3107]迭代12 of 14 2012-09-05 11:46:59.832 LargeImage [2242:3107]迭代13 of 14 2012-09-05 11:47:06.800 LargeImage [2242:3107]迭代14 of 14 2012-09-05 11: 47:13.666 LargeImage [2 242:3107]缩小尺寸。

    2012-09-05 11:57:24.465 PhotoScrollerNetworkTurbo [2262:1c03]初始化:总计:270237696已使用:163041280免费:107196416 [resident = 6574080 virtual = 346882048] 2012-09-05 11:57:24.532 PhotoScrollerNetworkTurbo [2262:1c03 ] ORIENTATION = 1字符串= 1 2012-09-05 11:57:24.535 PhotoScrollerNetworkTurbo [2262:1c03] ZLEVELS = 5 2012-09-05 11:57:57.463 PhotoScrollerNetworkTurbo [2262:1c03] FINISH-I:32974毫秒2012- 09-05 11:57:57.946 PhotoScrollerNetworkTurbo [2262:1c03]完成:总计:260521984使用:219987968免费:40534016 [resident = 3469312 virtual = 349683712]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM