我有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);
}
答案 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));