gpt4 book ai didi

android - 在 ImageView 中获取以像素为单位的图像尺寸

转载 作者:行者123 更新时间:2023-11-29 19:42:34 26 4
gpt4 key购买 nike

当我尝试在 ImageView 中获取以像素为单位的图像尺寸时,我发现它的宽度是原始 jpg 文件宽度的 3 倍。

我放置了一个尺寸为 800 x 600 的 jpg 文件,但下面的代码显示其宽度为 2400。

Bitmap bitmap = ((BitmapDrawable)imgv.getDrawable()).getBitmap();
float fwidth = bitmap.getWidth();
Log.d("width0", Float.toString(fwidth));

我再次检查了 jpg 文件大小,但没有改变 (800 x 600),我还搜索了一个解决方案,但上面的代码根据其他用户的体验显示了位图的正确尺寸。

我做错了什么?谁能给我一些建议?

感谢您的帮助。

最佳答案

这是在网站上找到的解决方案。

我在解码资源时需要更改选项值以不缩放原始图像。我必须为 decodeResource 函数使用三个参数,而不是两个。

当然,第三个参数是Options,指定原始位图不缩放。所以现在当我调用位图的 getWidth() 函数时,我可以得到 800。

                Resources res = getResources();
int id = R.drawable.map10;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inScaled = false;
// options.inSampleSize = 3;
Bitmap bb = BitmapFactory.decodeResource(res, id, options);

float fwidth = bb.getWidth();

关于android - 在 ImageView 中获取以像素为单位的图像尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38390821/

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