题目
假设某张图片的大小1200*1200,现需将其显示在一个300*200的ImageView上,如果设置该ImageVlew的scaleType属性的值fitCenter,则图片的缩放比例为()A,横轴缩放比列为6,纵轴缩放比例为4B,等比例缩放,缩放比例为4C,C等比例缩放,缩放比例为6D,横轴缩放比例为4,纵轴缩放比列为6
假设某张图片的大小1200*1200,现需将其显示在一个300*200的ImageView上,如果设置该ImageVlew的scaleType属性的值fitCenter,则图片的缩放比例为()
A,横轴缩放比列为6,纵轴缩放比例为4
B,等比例缩放,缩放比例为4
C,C等比例缩放,缩放比例为6
D,横轴缩放比例为4,纵轴缩放比列为6
题目解答
答案
ImageView 的 scaleType 属性设置为 fitCenter 时,图片会等比例缩放,并且完全显示在 ImageView 中,不留空白,也不裁剪图片。这意味着图片的宽和高都会以相同的比例缩放,以适应 ImageView 的宽度和高度。
图片原始尺寸为 1200x1200,而 ImageView 的尺寸为 300x200。我们需要找到图片和 ImageView 宽度和高度之间的最小缩放比例,以确保图片完全适应 ImageView 而不超出其边界。
计算缩放比例如下:
横轴缩放比例 = ImageView 宽度 / 图片宽度 = 300 / 1200 = 1/4
纵轴缩放比例 = ImageView 高度 / 图片高度 = 200 / 1200 ≈ 1/6
由于 fitCenter 会保持图片的宽高比,所以实际使用的缩放比例是两者中较小的一个,即纵轴的缩放比例 1/6,以确保图片完全包含在 ImageView 内。
答案选择为B.