【问题标题】:How to get Image width that has been scaled如何获取已缩放的图像宽度
【发布时间】:2012-08-04 12:51:14
【问题描述】:

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

我想知道实际图像的高度和宽度,以及它在屏幕上的显示方式。有人可以帮帮我吗?

我尝试了以下方法,但没有给我想要的结果

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

【问题讨论】:

    标签: android imageview width pixel


    【解决方案1】:

    你可以试试这样的:

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

    希望我能理解你的问题。

    【讨论】:

    • 我想你确实理解我的问题,但我得到的填充是 0。我认为这是因为我从未真正设置过填充。
    • 在这种情况下,在我的等式中使用 0。你应该得到所需的大小。
    猜你喜欢
    • 2022-12-01
    • 2012-03-23
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 2023-04-03
    • 2019-02-25
    相关资源
    最近更新 更多