gpt4 book ai didi

android - 适用于 Android 的可扩展的基于图 block 的 ImageView

转载 作者:行者123 更新时间:2023-11-29 02:42:21 25 4
gpt4 key购买 nike

我们一直在为现有系统寻找合适的解决方案。我们正在寻找的解决方案是基于图 block 的 ImageView ,它支持(捏合)缩放和多个细节级别。我们正在研究基于图 block 的缩放,因为我们的图像非常大,并且 Android 可以加载的单个位图大小有限制。

期望的结果:

工作流程如下:

  • View 提供了总尺寸(用于放大的图像)
  • View 确定初始显示的拟合细节级别
  • View 显示详细级别的可见图 block (例如 level_row_col.png)
  • 用户可以滚动和浏览图像,触发绘制新的可见图 block 并释放屏幕外的图 block
  • 用户可以放大和缩小图像,在到达时触发新细节级别的绘制某些阈值。瓷砖有一个最大的细节级别节省磁盘空间,但达到最大级别后,用户允许在不触发进一步重绘的情况下进一步放大。
  • 的将原图分成一定大小的方 block ,edge-tiles 可能更小。然后每个较小的细节级别对半尺寸的绘图做同样的事情。例如,一个2000x2000px 的图像将由 8x8 256x256 方 block 组成它最详细的级别。下一个详细级别将包含 4x4(不太详细)256x256 block 等。

当前的实现和问题:

我们当前的实现使用自定义构建的二维 ScrollView ,它在一个细节级别上工作良好。然后用户可以单击一个按钮来放大或缩小。这将创建一个具有新大小的全新 scollview,并在新确定的网格上绘制图 block 。我们遇到的问题是初始 View 尺寸小于原始尺寸,因为我们希望最初适合屏幕上的图像。如果我们随后使用 Scale 属性缩放 View ,尺寸不会改变,这会阻止我们以新尺寸在旧瓷砖上绘制更详细的瓷砖,因为每个放大级别都比上一个大。这也可以防止我们放大到超过原始图像的大小,这是由于图像中的细节所必需的。

我们的 iOS 实现使用了 CATiledLayer 功能和类似于 TilingView 的功能

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

最佳答案

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

enter image description here

它是可定制的、可维护的并且具有丰富的功能。

您可以自由提供您的图 block 来源(来自网络或来自 SD 卡)。

关于android - 适用于 Android 的可扩展的基于图 block 的 ImageView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43233967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com