画布 - 绘制多个位图

时间:2013-11-22 20:03:42

标签: android bitmap surfaceview tiling

我使用基于图块的方法渲染非常大的图像。我使用的是SurfaceViewonDraw

我的问题是当我渲染瓷砖时,它们一次渲染一个。所以,如果我有4个瓷砖,而不是一次全部4个渲染,使它看起来像一次渲染的完整图像,我最终看到左上角,左下角,右上角然后右下角。

我在onDraw之外生成位图。唯一认为onDraw会迭代我的切片列表并为每个切片调用canvas.Drawbitmap

我无法将这些图块组合成一个位图然后绘制它。请记住,我正在处理一个大图像,这就是首先拼贴的原因。

有什么建议吗?感谢

编辑:根据要求添加代码段

     Paint paint = new Paint();

    // Render all loaded tiles. LinkedHashMap used for bottom up rendering - lower res tiles underneath.
    paint.setAntiAlias(true);
    paint.setFilterBitmap(true);
    paint.setDither(true);
    for (Map.Entry<Integer, List<Tile>> tileMapEntry : tileMap.entrySet()) {
        if (tileMapEntry.getKey() == sampleSize || hasMissingTiles) {
            for (Tile tile : tileMapEntry.getValue()) {
                if (!tile.loading && tile.bitmap != null) {
                    Rect rectToDraw = convertRect(sourceToViewRect(tile.sRect));
                    canvas.drawBitmap(tile.bitmap, null, rectToDraw, paint);
                }
            }
        }
    }

0 个答案:

没有答案