gpt4 book ai didi

java - 在android中调整图像大小

转载 作者:行者123 更新时间:2023-11-29 08:49:14 25 4
gpt4 key购买 nike

我想调整我的图像(原始尺寸为 1080p),但它们没有正确调整大小,我不知道为什么。图片有时只是尺寸不合适。在我的模拟器和我的旧 800*480 智能手机上它工作正常但在我的 1280*768 的 nexus 4 上看起来不正确。读取正确的屏幕分辨率没有问题。我的调整大小程序只有一个错误。请帮我。这是一个 fragment :

private Bitmap bitmap,bitmap1;
private float factor;

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics displaymetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(displaymetrics);
width = displaymetrics.widthPixels;
height = displaymetrics.heightPixels;

factor = (float)height/1080;

Int bitmapheight,bitmapwidth;
bitmap = Bitmap.createScaledBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.picture),(int)(factor*BitmapFactory.decodeResource(getResources(), R.drawable.picture).getwidth() ,(int)(factor*BitmapFactory.decodeResource(getResources(), R.drawable.picture).getHeight(), true);

canvas.drawBitmap(bitmap,.....

最后,我的 nexus 上的高度没有调整为 768/1080*bitmapheight,我不知道为什么。注意其他一切正常。数学表明每个手机的高度应该相同。

这些是我的程序的屏幕截图,显示图像高度不同

第一张图片:

enter image description here

第二个:

enter image description here

如您所见,图像的高度并不相等。在我的模拟器和我的旧智能手机上,它们看起来是正确的。图片不应触及底部,但在我的 Nexus 4 上它们确实触及底部。

最佳答案

对于任何对为什么它不起作用感兴趣的人。我终于知道了。

现在

BitmapFactory.decodeResource(getResources(), R.drawable.picture)

不仅加载图片而且还根据你的分辨率缩放它(不总是只在某些分辨率上)这就是为什么它让我感到困惑。我以为它只是加载该死的图片。现在如何解决这个问题:

BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inScaled = false;

BitmapFactory.decodeResource(getResources(), R.drawable.picture,opts)

关于java - 在android中调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23552130/

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