Android:如何将纹理从位图平​​铺到非矩形形状?

时间:2013-06-24 08:25:21

标签: android canvas

我正在尝试在画布上绘制非矩形形状。我需要用草和柏油碎石(道路)等纹理填充它们。我怎样才能做到这一点?我已经尝试重叠不同形状的位图以在一帧上实现这种效果,但随着时间的推移形状不断变化,所以我需要另一种解决方案。 提前致谢 Sameer Raina

1 个答案:

答案 0 :(得分:0)

您可以使用BitmapDrawable绘制像这样的无缝模式图像

 BitmapDrawable tileImg = new BitmapDrawable(getResources(), R.drawable.image);
 tileImg.setBounds(bounds);
 tileImg.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT); 
 tileImg.draw(canvas); // this will fill the canvas. 

要使用它创建形状,您应该将画布剪切到与您的形状对应的路径,然后调用tileImg.draw(canvas);方法,仅填充剪切区域。

但请注意,因为使用clipPath()时存在一些问题,请详细了解herehere