Изменение размера изображения с сохранением соотношения сторон - PullRequest
1 голос
/ 05 июня 2011

Я хочу изменить размеры изображений, сохраняя соотношение сторон для отображения изображений на веб-странице.Максимальный размер изображения может быть 640x480.Какое уравнение можно использовать для изменения размера изображений?Меня не волнует недавно измененный размер изображения.Разрешение должно быть около 640х480 пикселей

Ответы [ 2 ]

6 голосов
/ 05 июня 2011

Я объясняю, используя C псевдокод. Сначала рассчитайте соотношение сторон изображения, которое вы хотите изменить («testImage»):

double rat = (double)testImage.Width / (double)testImage.Height;

Затем мы сравниваем его с соотношением сторон изображения 640x480. Если коэффициент testImage («крыса») больше, чем коэффициент изображения 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);
0 голосов
/ 20 марта 2013

Код в 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...