fitCenter算法ImageView

时间:2017-08-21 13:39:30

标签: java android scaling

ImageView fitCenter算法如何工作,我有一个image_hight和image_width,我需要以编程方式实现centerFit,但我没有运气,我试着像这样缩放图像

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 scale那样缩放图像?

1 个答案:

答案 0 :(得分:0)

似乎第二个代码就像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;