2

在此处输入图像描述

这就是我想画的。它有

  • 我想要的形状(来自四个 [x/y] 坐标)
  • 我想要的纹理(来自 bmp)
  • 我想要的颜色(使用 ColorFilter)。
4

1 回答 1

1

以编程方式,这就是我最终实现目标的方式:

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);
于 2013-02-17T16:29:06.410 回答