gpt4 book ai didi

java - 如何将位图重新缩放到不同的屏幕尺寸但保持正方形?

转载 作者:行者123 更新时间:2023-12-02 07:59:58 25 4
gpt4 key购买 nike

您好 stackoverflow.com 的伟大人们,我在我的代码中偶然发现了一个很大的困难;无法根据屏幕尺寸调整图像大小。

我有一个图像,例如 65 像素 x 65 像素,但我希望该图像占屏幕的一定百分比(例如 6%),同时保持正方形。

我的大脑无法处理这个数学问题(因为它很慢:-( )

(_width & _height 为屏幕宽度和高度)

到目前为止我得到的是:

int width = bitmap.getWidth();
int height = bitmap.getHeight();

int avg_screen_dimension = (_width + _height) / 2;

float scaleWidth =
((float) width + (avg_screen_dimension - _width)) / width;
float scaleHeight =
((float) height + (avg_screen_dimension - _height)) / height;

// CREATE A MATRIX FOR THE MANIPULATION
Matrix matrix = new Matrix();

// RESIZE THE BIT MAP
matrix.postScale(scaleWidth, scaleHeight);

// RECREATE THE NEW BITMAP

Bitmap resizedBitmap =
Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, false);

return resizedBitmap;

任何帮助将不胜感激!

最佳答案

这只不过是简单的代数 - 不需要复杂的数学。

您必须在屏幕宽度或高度的分数之间进行选择,除非它们相等。

设 h = 屏幕高度,w = 屏幕宽度,f = 屏幕尺寸的一部分,x = 图像大小。

那么 x = h*f。如果您想让它成为宽度的一小部分,请将 w 替换为 h。

关于java - 如何将位图重新缩放到不同的屏幕尺寸但保持正方形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9056278/

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