bitmapshader 的使用

在使用canvas绘制图片重复平铺时:

Paint paint = new Paint();

BitmapShader bitmapShader = new BitmapShader(bitmap,TileMode.REPEAT,TileMode.REPEAT);

Rect rect = new Rect(  ,   ,  ,  ,);

第一种是:

    paint.setShader(bitmapShader);

    canvas.drawRect(Rect,paint);

第二种:

 ShapeDrawable shapeDrawable = new ShapeDrawable(new RectShape());

    shapeDrawable.setBounds(Rect);
        shapeDrawable.getPaint().setShader(bitmapShader);
        shapeDrawable.draw(canvas);

在做一个固定矩形内进行平铺时第一种方法平铺的图片在放置时总是少一部分,具体原因还未查出。

第二种方式可以实现

你可能感兴趣的:(bitmapshader 的使用)