Android:如何计算图像的宽高比?

时间:2015-10-12 07:13:32

标签: android

我有100张巨大的图像(500 * 700,401 * 800,2345 * 3567),所以我希望所有这些图像的高度都与220相同。下面我正在实现图像宽高比的计算。我想设置所有大尺寸图像的固定高度。我正在使用一些算术公式来计算纵横比,但是所有图像的宽度都相同,高度不同但我希望高度固定。如何获得固定高度?感谢您的光临。

这是我的图像宽高比计算代码

if (bitmapResizeImage != null) {
    int originalWidth = bitmapResizeImage.getWidth();
    int originalHeight = bitmapResizeImage.getHeight();
    Log.e("originalWidth "," = " + originalWidth +" originalHeight = " + originalHeight+" of imgElement = " + imgElement+ " Notation = " +all_Post.getStrNotationNo());

    float aspect_ratio = originalWidth / originalHeight ;
    Log.e("aspect_ratio "," = " + aspect_ratio);

    float adjusted_width = 220 * originalWidth / originalHeight ;
    Log.e("adjusted_width "," = " + adjusted_width);
    float adjusted_height = originalWidth * originalHeight / originalWidth ;
    Log.e("adjusted_height "," = " + adjusted_height);

    pBar.setVisibility(View.GONE);
    imageView.setImageBitmap(bitmapResizeImage);
}

2 个答案:

答案 0 :(得分:5)

您应该尝试typecasting

float aspect_ratio = (float)originalWidth / (float)originalHeight ;

因为这个类型转换操作将返回一个浮点值。

整数除以整数将得到整数结果,它将被赋值给一个浮点变量。因此,操作数需要转换为float,以确保结果计算为float。

答案 1 :(得分:0)

除了Priyank发布的内容之外,一旦您拥有正确的值 您可以在ImageView上使用setImageBitmap之前使用新维度创建位图。使用

imageView.setImageBitmap(Bitmap.createBitmap(int width, int height, Bitmap.Config config));