2013-06-24 35 views
0

我想在画布上绘制非矩形形状。我需要填充像草和柏油路面(道路)的纹理。我怎样才能做到这一点?我已经尝试重叠不同形状的位图以在一帧上实现此效果,但随着时间的推移形状不断变化,所以我需要另一种解决方案。 在此先感谢 萨米尔雷纳Android:我如何从位图平铺纹理到非矩形形状?

回答

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

+2

我实际使用paint.setShader(BitmapShader)达到的效果。 – user1990654