6

在此处输入图像描述

  • 实际图像源高度 = 180px 和宽度 = 192px
  • ImageView 的宽度为 90 像素,高度为 60 像素。

我想知道实际图像高度和宽度是如何在屏幕上显示的。有人可以帮助我吗?

我尝试了以下但它没有给我我正在寻找的结果

  • 如果我做 imageview.getWidth 我得到 ImageView 的 90px
  • 如果我执行 imageView.getMeasuredWidth 我得到 ImageView 的 90px
  • 如果我做 imageview.getDrawable.getIntrinsicWidth 我得到 192px 的实际源宽度
  • 如果我做 imageview.getDrawable.getBounds 我得到 192px 的实际源宽度
  • 如果我检索位图并执行 getScaledWidth(metrics) 我得到 192px 的实际源宽度
4

1 回答 1

2

你可以尝试这样的事情:

  • 你有图像高度(IH)和图像宽度(IW)
  • 找到 ImageView 高度 (H)。
  • 找到 ImageView 的顶部填充 (TP) 和底部填充 (BP)
  • 您显示的图像高度为 DIH = H - (BP + TP)
  • 显示图像宽度 DIW = (IW * DIH) / IW;

我希望我能理解你的问题。

于 2012-08-07T13:35:54.793 回答