图像缩放Android

时间:2016-02-15 21:28:51

标签: android matrix imageview

我将图片从图库显示到Imageview。

我使用下面的代码

 Bitmap background = Bitmap.createBitmap((int) width, (int) height, Bitmap.Config.ARGB_8888);
                float originalWidth = bMap.getWidth(), originalHeight = bMap.getHeight();
                Canvas canvas = new Canvas(background);
                float scale = width/originalWidth;
                float xTranslation = 0.0f, yTranslation = (height - originalHeight * scale)/2.0f;
                Matrix transformation = new Matrix();
                transformation.postTranslate(xTranslation, yTranslation);
                transformation.preScale(scale, scale);
                Paint paint = new Paint();
                paint.setFilterBitmap(true);
                canvas.drawBitmap(bMap, transformation, paint);
                imageView1.setImageBitmap(background);

案例1:工作。

Original Image

Output of above code.

案例2:不工作

Original Image.

Output of above code.

在案例2中,为什么图像没有正确缩放,以填充图像视图? 请让我知道我哪里出错。

3 个答案:

答案 0 :(得分:1)

Android已经提供了一种创建缩放位图的方法。看看LINK

答案 1 :(得分:0)

你想要伸展吗?使用fitxy。

答案 2 :(得分:0)

在布局xml文件中使用ImageView上的scaleType属性。

示例:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="centerCrop" />

然后,您可以使用setImageUri(Uri uri)ImageView上设置图片(我假设您要显示图片的Uri)。