protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Shader shader = new BitmapShader(bar_bitmap, Shader.TileMode.MIRROR, Shader.TileMode.MIRROR);
recPaint.setShader(shader);
canvas.drawRect(distance, endHeight, distance + viewWidth, startHeight, recPaint);
}
我画了一个矩形,想用资源图片去填充该矩形,但是图片过大,在矩形中只显示了一部分,不知道是不是设置的模式的问题,各种模式我也试过了都不能按照矩形的大小自动填充。
矩形是我自定义的view的一部分,我尝试过在activity中new了这个view,然后view.setbackgroundResource(),可以使图片自适应view的大小,但是我的目的是填充那个矩形,并不是整个view(我尽量吧问题说清楚,不清楚再补充)
------解决方案--------------------
用Bitmap.createBitmap把图片缩放到矩形大小
------解决方案--------------------
可以直接将图片画到指定大小的矩形中。看看apidemo就ok了。
另外,填充矩形绝对会使你的图片失真。因为指定了矩形大小,又要图片填充整个矩形,图片就会缩放和拉伸,这会改变图片宽高比,图片失真会比较严重。
我刚做了一个显示图片缩略图的功能,明天写个博客分享给大家。