2013-09-25 51 views
0

我想在Android上创建一个热图,并试图生成一个用getTile返回的瓷砖,但找不到任何关于从较小的一个复制到其中的动态生成大图像的任何事情一堆。有没有任何教程或代码片段?为TileProvider动态创建一个瓷砖

此外,如果这不是这样的方式让我知道。由于我动态生成tile,所以无法使用urlprovider,我找不到一个动态生成tile的人的例子。

回答

1

如果要通过裁剪,调整大小等从另一个位图创建位图,你会想用帆布:

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

第二和第三个参数存在的源里面rects位图(从中复制部分或整个图像)以及结果位图(将图像绘制到该位图)。但是,如果您正在绘制热图,则可能会发现绘制小矩形的颜色比代替复制其他位图(这在计算上更困难)更容易。 创建以同样的方式在画布上,而不是调用drawBitmap,调用的drawRect:

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

所有剩下的就是按照热图中的面积值与颜色玩,与玩职位(通过正确生成rects,你完成:)

希望这会有所帮助!