public static Rect getImageDisplayRect(ImageView imageView) {
// 得到imageview中的矩阵,准备得到drawable的拉伸比率
Matrix m = imageView.getImageMatrix();
float[] values = new float[10];
m.getValues(values);
// drawable的本身宽高
Drawable drawable = imageView.getDrawable();
float originalWidth = drawable.getIntrinsicWidth();
float originalHeight = drawable.getIntrinsicHeight();
//Image在绘制过程中的变换矩阵,从中获得x和y方向的缩放系数 value[0],[4]
//得到drawable的实际显示时的宽高
int displayWidth = (int) (originalWidth * values[0]);
int displayHeight = (int) (originalHeight * values[4]);
// 计算出对应的Rect
Rect rect = new Rect();
rect.left = (int) ((originalWidth - displayWidth) / 2);
rect.top = (int) ((originalHeight - displayHeight) / 2);
rect.right = rect.left + displayWidth;
rect.bottom = rect.top + displayHeight;
return rect;
}
Android中怎么获得ImageView控件显示的图片宽高
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在android studio的layout下编辑布局时,控件的宽高使用dimens适配时,发现在preview预...