Android Paint 之 BitmapShader位图的图像渲染器

来源:互联网 发布:cla 知乎 编辑:程序博客网 时间:2024/05/17 09:16

BitmapShader位图的图像渲染器

TileMode 模式

Shader.TileMode.CLAMP        边缘拉伸.Shader.TileMode.MIRROR       在水平方向和垂直方向交替景象, 两个相邻图像间没有缝隙.Shader.TileMode.REPEAT       在水平方向和垂直方向重复摆放,两个相邻图像间有缝隙缝隙.

构造方法

/**  * 调用这个来创建一个新的着色器,它将用一个位图绘制  * @param 用来做模板的 Bitmap 对象   * @param 横向的 TileMode   * @param TileMode。  */public BitmapShader(@NonNull Bitmap bitmap, @NonNull TileMode tileX, @NonNull TileMode tileY) {   this(bitmap, tileX.nativeInt, tileY.nativeInt);}

简单使用 Shader.TileMode.REPEAT

    //Paint    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);    //图片    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);    BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);    paint.setShader(bitmapShader);    //绘制    canvas.drawRect(0,0,getWidth(),getHeight(),paint);

Shader.TileMode.CLAMP 效果

这里写图片描述

Shader.TileMode.MIRROR 效果

这里写图片描述

Shader.TileMode.REPEAT 效果

这里写图片描述

阅读全文
0 0
原创粉丝点击