我希望调整图像大小,同时保持在网页上显示图像的宽高比。最大图像尺寸可以是640x480。可以使用哪个等式来调整图像大小?我不关心新调整大小的图像大小。分辨率应接近640x480像素
答案 0 :(得分:6)
我用C伪代码解释。首先计算要调整大小的图像的纵横比(“testImage”):
double rat = (double)testImage.Width / (double)testImage.Height;
然后我们将它与640x480图片的宽高比进行比较。如果testImage的比例(“rat”)大于640x480图片的比例,那么我们知道如果我们调整图片大小以使其宽度变为640,其高度将不会超过480.如果testImage的宽高比较小,那么我们可以调整图片大小,使高度变为480而宽度不超过640像素。
const double rat640x480 = 640.0 / 480.0;
if (rat > rat640x480)
testImage.Resize(Width := 640, Height := 640 / rat);
else
testImage.Resize(Width := 480 * rat, Height := 480);
答案 1 :(得分:0)
JAVA中的代码变为
double ratio640x480 = 640.0 / 480.0;
double sourceRatio = (double) bitmap.getWidth() / (double) bitmap.getHeight();
if (sourceRatio > ratio640x480)
bitmap = Bitmap.createScaledBitmap(bitmap, 640, (int) (640 / sourceRatio), true);
else
bitmap = Bitmap.createScaledBitmap(bitmap, (int) (480 * sourceRatio), 480, true);