gpt4 book ai didi

java - 在 Android 中使用 createScaledBitmap 创建缩放位图

转载 作者:IT老高 更新时间:2023-10-28 23:26:28 26 4
gpt4 key购买 nike

我想创建一个缩放位图,但我似乎得到了一个不成比例的图像。它看起来像一个正方形,而我想要长方形。

我的代码:

Bitmap resizedBitmap = Bitmap.createScaledBitmap(myBitmap, 960, 960, false);

我希望图像的 MAX 为 960。我该怎么做?将宽度设置为 null 不会编译。这可能很简单,但我无法理解它。谢谢

最佳答案

如果内存中已经有原始位图,则不需要进行inJustDecodeBoundsinSampleSize等全过程,只需要弄清楚使用什么比例并相应地缩放。

final int maxSize = 960;
int outWidth;
int outHeight;
int inWidth = myBitmap.getWidth();
int inHeight = myBitmap.getHeight();
if(inWidth > inHeight){
outWidth = maxSize;
outHeight = (inHeight * maxSize) / inWidth;
} else {
outHeight = maxSize;
outWidth = (inWidth * maxSize) / inHeight;
}

Bitmap resizedBitmap = Bitmap.createScaledBitmap(myBitmap, outWidth, outHeight, false);

如果此图像的唯一用途是缩放版本,您最好使用 Tobiel 的答案,以尽量减少内存使用。

关于java - 在 Android 中使用 createScaledBitmap 创建缩放位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17839388/

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