/**
* Call this to create a new shader that will draw with a bitmap.
*
* @param bitmap The bitmap to use inside the shader
* @param tileX The tiling mode for x to draw the bitmap in.
* @param tileY The tiling mode for y to draw the bitmap in.
*/
public BitmapShader(@NonNull Bitmap bitmap, @NonNull TileMode tileX, @NonNull TileMode tileY) {
this(bitmap, tileX.nativeInt, tileY.nativeInt);
}
private void drawClampBitmapShader(Canvas canvas){
BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.CLAMP,Shader.TileMode.CLAMP);
paint.setShader(bitmapShader);
RectF rect = new RectF(0,0,800,100);
canvas.drawRect(rect,paint);
}
CLAMP效果.jpg
private void drawMirrorBitmapShader(Canvas canvas) {
BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.MIRROR,Shader.TileMode.MIRROR);
paint.setShader(bitmapShader);
RectF rect = new RectF(0,0,1000,1000);
canvas.drawRect(rect,paint);
}
MIRROR效果.jpg
private void drawRepeatBitmapShader(Canvas canvas) {
BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.REPEAT,Shader.TileMode.REPEAT);
paint.setShader(bitmapShader);
RectF rect = new RectF(0,0,1000,1000);
canvas.drawRect(rect,paint);
}
REPEAT效果.jpg