【问题标题】:How to calculate Bitmap pixel size in Android如何在 Android 中计算位图像素大小
【发布时间】:2012-04-10 17:28:22
【问题描述】:

我使用位图从 res 加载了 640 x 480(以 px 为单位)的 jpg 图像。

bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bmp);

但我发现:

  • bitmap.getWitdh()的值为1280;
  • bitmap.getHeight()的值为960;
  • bitmap.getRowBytes()的值为2560;

为什么?

【问题讨论】:

    标签: android bitmap pixel


    【解决方案1】:

    这取决于您的手机。由于android支持多个屏幕,为了让位图在不同的屏幕上以相同的方式缩放,原始位图被存储以满足屏幕的密度。鉴于您发布的价值,您的手机似乎有一个 xdpi 屏幕。如果您的移动设备是 mdpi,可能 getHeight() 和 getWidth 会让您返回 480 和 640。请参阅here 了解更多信息

    【讨论】:

      【解决方案2】:

      发生这种情况是因为您没有指定任何BitmapFactory.Options,尤其是inTargetDensity 字段。尝试改用decodeResource(Resources, resId, BitmapFactory.Options) 方法。

      【讨论】:

        猜你喜欢
        • 2018-08-04
        • 2015-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-20
        • 2013-11-21
        相关资源
        最近更新 更多