fitCenter 算法 ImageView

fitCenter Algorithm ImageView

ImageView fitCenter 算法的工作原理,我有一个 image_hight 和 image_width,我需要以编程方式实现 centerFit,但我没有运气,我尝试了 t scale这样的图像

newPostHolder.height = DeviceHigh;
 int heightOfImage = data.getInt("image_height");
                    if (heightOfImage > ((newPostHolder.height / 100) * 80) || heightOfImage == newPostHolder.height) {
                        heightOfImage = ((newPostHolder.height / 100) * 69);
                    }

                    newPostHolder.one_imageview.getLayoutParams().height = heightOfImage;

像这样

int heightOfImage = 0;
int widthOfImage = 0;

float scalingRatio = ((Float.parseFloat(heightOfImage) / Float.parseFloat(widthOfImage));

 viewHolder.imageLoadingLayout.getLayoutParams().height = Math.round(scalingRatio*width );

第一个大图片看起来仍然很高,第二个对图像进行了某种模糊处理。

我的问题是如何像 fitCenter 比例尺一样缩放图像??

似乎第二个代码像 fitCenter 一样工作我的问题是我在确定尺寸之前做了检查,这就是问题所在

 int heightOfImage = data.getInt("image_height");
 int widthOfImage = data.getInt("image_width");
 heightOfImage = newPostHolder.width  * heightOfImage / widthOfImage;
 newPostHolder.one_imageview.getLayoutParams().height = heightOfImage;
 newPostHolder.one_imageview.getLayoutParams().width = newPostHolder.width;