我在imageview中设置了一个图片。它显示在屏幕的中心,因为我已使其父布局(相对布局)与父级匹配。 Imageview的高度和宽度也设置为与父级匹配。
我想在imageview中获取Image的高度和宽度。
我用过:
int imagWidth = imageView.getWidth();
int imagHeight = imageView.getHeight();
但是我们得到了Imageview的高度和宽度。
这是我的xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl_root"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imag"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:background="@android:color/black"
android:src="@drawable/image2" />
</RelativeLayout>
答案 0 :(得分:1)
使用ImageView.getDrawable().getInstrinsicWidth()
和
getIntrinsicHeight()
将返回原始尺寸。
获取Drawable
到ImageView.getDrawable()
并将其投射到。{
BitmapDrawable
,然后使用BitmapDrawable.getBitmap().getWidth()
和
getHeight()
也会返回原始图片及其尺寸。
尝试以下代码:
ImageView.getDrawable().getIntrinsicHeight()//original height of underlying image
ImageView.getDrawable().getIntrinsicWidth()//original width of underlying image
imageView.getMeasuredHeight();//height of imageView
imageView.getMeasuredWidth();//width of imageView
参考:Trying to get the display size of an image in an ImageView
答案 1 :(得分:0)
试试这个: -
Bitmap b = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
int w = b.getWidth();
int h = b.getHeight(); // height of your image
P.S : - h
图像高度(原始图像高度)
<强>更新强>
如果你想获得里面的确切高度,请试试这个: -
int height = imageView.getDrawable().getIntrinsicHeight();
int height_in_dp = Math.round(height / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
height_in_dp
是 dp 中图片的高度 !!
答案 2 :(得分:0)
df_g.apply(lambda x: x)