我有ImageView
MathParent
身高和宽度
在我的活动中,它将资源中的图片加载到ImageView
。如何在ImageView
缩放后获得图片的宽度和高度
我没有在XML中设置android:scaleType
我的意思是这些尺寸!
答案 0 :(得分:1)
您可以使用视图用于显示图像的matrix做很多事情。
这里我计算绘制图像的比例:
private float scaleOfImageView(ImageView image) {
float[] coords = new float[]{0, 0, 1, 1};
Matrix matrix = image.getImageMatrix();
matrix.mapPoints(coords);
return coords[2] - coords[0]; //xscale, method assumes maintaining aspect ratio
}
将比例应用于图像尺寸可显示图像尺寸:
private void logImageDisplaySize(ImageView image) {
Drawable drawable = image.getDrawable();
int width = drawable.getIntrinsicWidth();
int height = drawable.getIntrinsicHeight();
float scale = scaleOfImageView(image);
float displayedWidth = scale * width;
float displayedHeight = scale * height;
Log.d(TAG, String.format("Image drawn at scale: %.2f => %.2f x %.2f",
scale, displayedWidth, displayedHeight));
}
我怀疑你并不真正关心图像大小,我怀疑你想要将触摸点映射回图像上的坐标,这个答案显示了如何做到这一点(也使用图像矩阵):{{3 }}