📅  最后修改于: 2023-12-03 15:24:06.366000             🧑  作者: Mango
在 Android 应用程序中,有时需要将图片的大小调整为特定的尺寸。这可以在程序代码中进行操作。本文将介绍如何在 Android 中以编程方式调整图像大小。
在 Android 中,我们可以通过 Bitmap 类来操作图片。Bitmap 类提供了很多方法来操作图片,包括缩放、旋转、裁剪等。
我们可以使用 Bitmap.createScaledBitmap() 方法对图片进行缩放。这个方法需要传入原始图片的 Bitmap 对象、新图片的宽度和高度,以及一个 boolean 类型的参数,用于指定是否使用双线性过滤器对图像进行平滑处理。
以下是一个简单的代码示例:
// 原始图片
Bitmap originalBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image);
// 新图片的尺寸
int newWidth = 100;
int newHeight = 100;
// 创建一个新的 Bitmap 对象
Bitmap resizedBitmap = Bitmap.createScaledBitmap(originalBitmap, newWidth, newHeight, true);
上面的代码将原始图片缩放为 100x100 的尺寸,并将结果存储在 resizedBitmap 变量中。
除了使用 Bitmap 类的方法外,我们也可以使用 Matrix 类来调整图片大小。Matrix 类提供了一些方法,可以对图片进行缩放、旋转、平移等变换。
要缩放图片,我们可以创建一个新的 Matrix 对象,然后调用它的 postScale() 方法进行缩放。以下是一个示例代码:
// 原始图片
Bitmap originalBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image);
// 新图片的尺寸
int newWidth = 100;
int newHeight = 100;
// 创建一个新的 Matrix 对象
Matrix matrix = new Matrix();
// 缩放图片
matrix.postScale((float)newWidth/originalBitmap.getWidth(), (float)newHeight/originalBitmap.getHeight());
// 创建一个新的 Bitmap 对象
Bitmap resizedBitmap = Bitmap.createBitmap(originalBitmap, 0, 0, originalBitmap.getWidth(), originalBitmap.getHeight(), matrix, true);
上面的代码将原始图片缩放为 100x100 的尺寸,并将结果存储在 resizedBitmap 变量中。
总结一下,我们可以使用 Bitmap 类或 Matrix 类来调整图片的大小。使用 Bitmap 类的方法比较简单,但可能会产生一定的失真。如果需要更高质量的结果,可以尝试使用 Matrix 类进行调整。