【问题标题】:drawing map with paths and zooming function绘制带有路径和缩放功能的地图
【发布时间】:2013-03-26 17:15:11
【问题描述】:

我正在绘制带有预定义路径的地图。地图可以移动,可以放大和缩小。 这在我的 Android 4.0.4 上放大时效果很好,快速流畅,看起来不错。

自从我更新到 4.1.2 后,一切都不同了: 当放大形状时,现在将像素化(不清晰,如附图所示)和 移动地图是非常抽搐。我没有更改代码。

令人惊讶的是,在模拟器 (AVG) 中,缩放时看起来也不错(见下面的截图)

我所做的是: - 我在大约 x=0-2000 和 y=0-1500 的区域有很多路径 - 我只绘制在我的屏幕尺寸之间可见的路径 - 缩放我在自定义视图的 onDraw() 方法中使用 canvas.scale(x,x) - 移动地图由我的自定义视图的 onDraw() 方法中的 canvas.translate(x,y) 完成

我尝试了什么:

  • 我尝试通过缩放而不是使用 canvas.scale() 来转换所有路径 -> 这会起作用,但是我的形状变大了,因此无法绘制:“形状路径太大而无法绘制渲染成纹理”

  • 用大坐标重新创建路径。同样的问题,而且速度非常慢 ->“形状路径太大而无法渲染成纹理”

  • 将形状分成几个形状不是解决方案,因为它之前已经在我的 4.0.4 上工作过,而且我也喜欢正确绘制边框。 (例如海岸线)

模拟器

【问题讨论】:

    标签: android canvas path


    【解决方案1】:

    我发现了问题: 在我的新 JellyBean 更新中,硬件加速默认为开启,而 Hardwareacceleration 接缝有问题。我不得不在 AndroidManifest.xml 中明确错误的“硬件加速”:

        <application
       android:hardwareAccelerated="false"
        android:icon="@drawable/ic_launcher"
    

    问候

    【讨论】:

      猜你喜欢
      • 2012-09-01
      • 2012-08-31
      • 1970-01-01
      • 2015-12-19
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 2019-02-23
      • 1970-01-01
      相关资源
      最近更新 更多