zoukankan      html  css  js  c++  java
  • 获取imageview 图片大小

    如题,ImageView在显示图片的时候,受限于屏幕大小,和图片宽高。通常图片是被缩放过,且不是宽和高都充满ImageView的。

    此时,我们如何获得Image被实际绘制的宽高呢?如下:


    1. final ImageView iv = (ImageView) findViewById(R.id.iv_test);  
    2.         iv.setImageResource(R.drawable.abc);  
    3.           
    4.         //等待ImageVivew加载完成  
    5.         iv.post(new Runnable(){   
    6.   
    7.             @Override  
    8.             public void run() {  
    9.                 // TODO Auto-generated method stub  
    10.                   
    11.                 //ImageView的宽和高  
    12.                 Log.d("lxy", "iv_W = " + iv.getWidth() + ", iv_H = " + iv.getHeight());  
    13.   
    14.                 //获得ImageView中Image的真实宽高,  
    15.                 int dw = iv.getDrawable().getBounds().width();  
    16.                 int dh = iv.getDrawable().getBounds().height();  
    17.                 Log.d("lxy", "drawable_X = " + dw + ", drawable_Y = " + dh);  
    18.                   
    19.                 //获得ImageView中Image的变换矩阵  
    20.                 Matrix m = iv.getImageMatrix();  
    21.                 float[] values = new float[10];  
    22.                 m.getValues(values);  
    23.                   
    24.                 //Image在绘制过程中的变换矩阵,从中获得x和y方向的缩放系数  
    25.                 float sx = values[0];  
    26.                 float sy = values[4];  
    27.                 Log.d("lxy", "scale_X = " + sx + ", scale_Y = " + sy);  
    28.                   
    29.                 //计算Image在屏幕上实际绘制的宽高  
    30.                 int cw = (int)(dw * sx);  
    31.                 int ch = (int)(dh * sy);  
    32.                 Log.d("lxy", "caculate_W = " + cw + ", caculate_H = " + ch);  
    33.             }});  
      1. <ImageView   
      2.         android:id="@+id/iv_test"  
      3.         android:layout_width="match_parent"  
      4.         android:layout_height="match_parent"   
      5.         /> 
  • 相关阅读:
    25.大白话说java并发工具类-CountDownLatch,CyclicBarrier,Semaphore,Exchanger
    23.FutureTask基本操作总结
    22.线程池之ScheduledThreadPoolExecutor
    Jenkins + SVN搭建php持续集成
    Django学习系列之Form表单结合ajax
    Django学习系列之模板系统
    Django学习系列之路由系统
    zabbix学习系列之基础概念
    Python学习系列之反射
    Django学习系列之模板
  • 原文地址:https://www.cnblogs.com/jackwuyongxing/p/3983369.html
Copyright © 2011-2022 走看看