gpt4 book ai didi

java - 为什么 getWidth() 和 getHeight() 返回的值是实际图像尺寸的两倍?

转载 作者:行者123 更新时间:2023-12-02 04:54:16 25 4
gpt4 key购买 nike

我正在为 Android 进行开发,我的程序涉及很多位图图像 - 这些是使用 BitmapFactory 设置的。我的一张图像的尺寸为 80x30,我使用以下指令将其分配给位图变量:

bmapImg = BitmapFactory.decodeResource(currContext.getResources(), R.drawable.brick);

当我使用指令时

myImgWidth = bmapImg.getWidth();

myImgWidth 的计算结果为 160 而不是 80。同样,当我运行时

myImgHeight = bmapImg.getHeight();

myImgHeight 的计算结果为 60,而不是 30。我查看了 StackOverflow 上与这些方法相关的其他问题,但所有这些问题都与 getWidth() 和 getHeight() 返回 0 有关。我是否做错了什么,或者这些函数返回实际图像尺寸的两倍是否有原因?

最佳答案

您使用decodeResource,因此图像会根据您的 DPI 进行缩放。要将其缩放到您需要的大小,请将其放在不同的文件夹中。我建议,如果比例因子为 2,drawable_xhdpi 就是您所需要的。

请记住,它将在不同屏幕密度的设备上进行缩放。

为了完全避免缩放,您可以将图像放入 Assets 文件夹中。

关于java - 为什么 getWidth() 和 getHeight() 返回的值是实际图像尺寸的两倍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28927304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com