动态创建TileProvider的磁贴

时间:2013-09-25 00:09:23

标签: android heatmap tile

我想在Android上创建一个热图,并且我正在尝试生成一个使用getTile返回的图块,但是无法找到任何关于动态生成大图像的信息。是否有任何教程或代码片段?

另外,如果这不是解决方法,请告诉我。由于我正在动态生成磁贴,因此无法使用urlprovider,我找不到动态生成磁贴的某个示例。

1 个答案:

答案 0 :(得分:1)

如果你想通过裁剪,调整大小等来创建另一个位图的位图,你会想要使用Canvas:

Canvas canvas = new Canvas(resultBitmap); //Result Bitmap will be what you end up drawing.
canvas.drawBitmap(otherBitmap, areaFromOtherBitmapToCopyRect, areaInResultBitmapToDrawRect, paint);

第二个和第三个参数存在于源位图(您从中复制部件或整个图像)内部,以及结果位图(您要将图像绘制到其中)。

但是,如果您正在绘制热图,您可能会发现更容易绘制小矩形颜色而不是复制其他位图(这在计算上更难)。 您以相同的方式创建Canvas,但不是调用drawBitmap,而是调用drawRect:

Paint redPaint = new Paint();
redPaint.setColor(0xFFFF0000); //This will be red. The 1st FF is for alpha.
canvas.drawRect(someAreaInTheResultRect, redPaint);

剩下的就是根据热图中区域的值来玩颜色,玩位置(通过正确生成反射,然后你完成:)

希望这有帮助!