首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可伸缩的基于块的Android图像视图

可伸缩的基于块的Android图像视图
EN

Stack Overflow用户
提问于 2017-04-05 14:22:49
回答 1查看 286关注 0票数 2

我们一直在为我们现有的系统寻找合适的解决方案。我们正在寻找的解决方案是一个基于瓷砖的图像视图,它支持(捏)缩放和多个细节级别。因为我们的图像很大,而且Android只能加载一个位图大小,所以我们正在研究基于瓷砖的缩放。

期望的结果:

工作流程如下:

  • 视图提供了一个总大小(用于放大图像)。
  • 视图确定初始显示的合适的详细级别。
  • 视图显示详细信息级别的可见瓦片(例如level_row_col.png)
  • 用户可以滚动和浏览图像,触发新可见瓦片的绘制和屏幕外瓦片的释放。
  • 用户可以放大和缩小图像,触发绘制新的细节水平时,达到一定的阈值。瓷砖有一个最大的详细级别以节省磁盘空间,但在达到最大级别后,用户可以进一步放大,而不会触发进一步的重绘。
  • 原始图像被划分为一定大小的方形瓷砖,边缘瓷砖可能更小。每个较小的细节级别,然后做同样的事情,与绘图的一半大小。例如,2000x2000px的图像将由最详细的8x8 256x256平方瓦组成。下一个细节级别将包含4x4 (不太详细)、256x256瓦等。

当前的实现和问题:

我们当前的实现使用了一个定制的二维滚动视图,它在一个细节级别上工作得很好。然后,用户可以单击按钮放大或缩小。这将创建一个具有新大小的全新的拼贴视图,并在新确定的网格上绘制瓷砖。我们遇到的问题是,最初的视图大小比原来的要小,因为我们希望最初适合屏幕上的图像。如果我们然后使用Scale属性来缩放视图,大小不会改变,这会阻止我们在新的尺寸上绘制更详细的瓷砖,因为每个缩放的级别都比上次的要大。这也阻止了我们放大到比原始图像更大的地方,这是因为我们图像中的细节所需要的。

我们的iOS实现利用了CATiledLayer的功能和功能,比如TilingView

有没有人知道我们可以使用什么样的控制或解决方案?

EN

回答 1

Stack Overflow用户

发布于 2017-04-05 14:31:16

我用来解决类似问题的库是TileView

它是可定制的,维护,并提供了丰富的功能。

您可以自由地提供您的瓷砖来源(从网络,或从SD卡)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43233967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档