当前位置: 代码迷 >> Android >> 图片过大,怎么使bitmap自适应填充小弟我画的矩形
  详细解决方案

图片过大,怎么使bitmap自适应填充小弟我画的矩形

热度:43   发布时间:2016-05-01 21:47:52.0
图片过大,如何使bitmap自适应填充我画的矩形?

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了。
另外,填充矩形绝对会使你的图片失真。因为指定了矩形大小,又要图片填充整个矩形,图片就会缩放和拉伸,这会改变图片宽高比,图片失真会比较严重。
我刚做了一个显示图片缩略图的功能,明天写个博客分享给大家。
  相关解决方案