在 Android 中,可以通过设置图片的 scaleType
属性来保持图片的长宽比例与翻转尺寸一致。以下是一个代码示例:
ImageView imageView = findViewById(R.id.imageView);
Bitmap originalBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image);
// 获取原始图片的宽度和高度
int originalWidth = originalBitmap.getWidth();
int originalHeight = originalBitmap.getHeight();
// 计算翻转后的宽度和高度
int flippedWidth = originalHeight;
int flippedHeight = originalWidth;
// 创建一个 Matrix 对象,用于翻转图片
Matrix matrix = new Matrix();
matrix.postRotate(90); // 顺时针旋转90度
// 使用 Matrix 对象对原始图片进行翻转
Bitmap flippedBitmap = Bitmap.createBitmap(originalBitmap, 0, 0, originalWidth, originalHeight, matrix, true);
// 设置 ImageView 的 scaleType 为 centerCrop,保持长宽比例与翻转尺寸一致
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
// 将翻转后的图片设置给 ImageView
imageView.setImageBitmap(flippedBitmap);
在上述代码中,我们首先通过 BitmapFactory.decodeResource()
方法获取原始图片的 Bitmap 对象。然后,我们获取原始图片的宽度和高度,并计算出翻转后的宽度和高度。接下来,我们创建一个 Matrix 对象,并调用 postRotate()
方法来设置翻转的角度(这里设置为顺时针旋转90度)。然后,我们使用 Bitmap.createBitmap()
方法将原始图片按照翻转后的尺寸和 Matrix 对象进行翻转得到翻转后的 Bitmap 对象。最后,我们设置 ImageView 的 scaleType
为 centerCrop
,并将翻转后的图片设置给 ImageView。这样就能够保持图片的长宽比例与翻转尺寸一致了。
上一篇:保持Android应用在后台运行
下一篇:保持Angular 8的服务返回