android 获得ImageView中Image的绘制大小
来源:互联网 发布:京东算法工程师待遇 编辑:程序博客网 时间:2024/05/16 13:56
如题,ImageView在显示图片的时候,受限于屏幕大小,和图片宽高。通常图片是被缩放过,且不是宽和高都充满ImageView的。
此时,我们如何获得Image被实际绘制的宽高呢?如下:
- final ImageView iv = (ImageView) findViewById(R.id.iv_test);
- iv.setImageResource(R.drawable.abc);
- //等待ImageVivew加载完成
- iv.post(new Runnable(){
- @Override
- public void run() {
- // TODO Auto-generated method stub
- //ImageView的宽和高
- Log.d("lxy", "iv_W = " + iv.getWidth() + ", iv_H = " + iv.getHeight());
- //获得ImageView中Image的真实宽高,
- int dw = iv.getDrawable().getBounds().width();
- int dh = iv.getDrawable().getBounds().height();
- Log.d("lxy", "drawable_X = " + dw + ", drawable_Y = " + dh);
- //获得ImageView中Image的变换矩阵
- Matrix m = iv.getImageMatrix();
- float[] values = new float[10];
- m.getValues(values);
- //Image在绘制过程中的变换矩阵,从中获得x和y方向的缩放系数
- float sx = values[0];
- float sy = values[4];
- Log.d("lxy", "scale_X = " + sx + ", scale_Y = " + sy);
- //计算Image在屏幕上实际绘制的宽高
- int cw = (int)(dw * sx);
- int ch = (int)(dh * sy);
- Log.d("lxy", "caculate_W = " + cw + ", caculate_H = " + ch);
- }});
- <ImageView
- android:id="@+id/iv_test"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- />
- android 获得ImageView中Image的绘制大小
- Android 获得ImageView中Image的绘制大小
- android 获得ImageView中Image的绘制大小
- 固定cell.imageView.image的大小
- 固定cell.imageView.image的大小
- 固定cell.imageView.image的大小
- 固定cell.imageView.image的大小
- 修改原生cell.imageView.image的大小
- android 绘制圆形的ImageView
- android中, 获得手机屏幕的大小
- Android 计算ImageView的大小
- Android 中如何动态设定imageview的大小
- iOS xib创建的imageview随image大小而自适应
- Android中动态改变ImageView大小
- Android中动态改变ImageView大小
- Android 改变ImageView图片的Bitmap大小
- Android 代码改变ImageView的大小
- 从ImageView中获取图片的大小
- jodconverter already running问题解决
- Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xm
- JBoss 系列五十九:jBPM Human Task 源代码分析 - II
- 自做的Cocos2d-x sqlite的帮助操作类DBHelper
- canvas.translate(x,y)一点新的认识
- android 获得ImageView中Image的绘制大小
- 在shell脚本里切换目录
- 平安银行笔面试
- wine安装
- 静态成员的使用
- 数据库分区
- Fragment实现底部菜单栏以及选项卡之间的切换
- cocos2dx使用lua和protobuf
- Centos下安装配置samba