这就是我想画的。它有
- 我想要的形状(来自四个 [x/y] 坐标)
- 我想要的纹理(来自 bmp)
- 我想要的颜色(使用 ColorFilter)。
这就是我想画的。它有
以编程方式,这就是我最终实现目标的方式:
Path path = new Path();
path.moveTo(coord0X, coord0Y);
path.lineTo(coord1X, coord1Y);
path.lineTo(coord2X, coord2Y);
path.lineTo(coord3X, coord3Y);
path.lineTo(coord0X, coord0Y);
ShapeDrawable shapeDrawable = new ShapeDrawable(new PathShape(path, dx, dy));
shapeDrawable.setBounds(x, y, x+dx, y+dy);
shapeDrawable.getPaint().setStyle(Paint.Style.FILL);
Shader fillShader = new BitmapShader(myTextureBitmap, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
shapeDrawable.getPaint().setShader(fillShader);
我现在得到了一个用我的纹理 BMP 绘制的平行四边形。
添加颜色过滤器:
shapeDrawable.setColorFilter(myColorFilter);