Я пытаюсь масштабировать кучу изображений, чтобы они имели одну и ту же область, но сохраняли их соотношение сторон, но мне трудно найти формулу для этого.Масштабирование изображений в область
Кто-нибудь знает формулу?
Я пытаюсь масштабировать кучу изображений, чтобы они имели одну и ту же область, но сохраняли их соотношение сторон, но мне трудно найти формулу для этого.Масштабирование изображений в область
Кто-нибудь знает формулу?
Для данной зоны А,
newx * newy = A
newx/newy = oldx/oldy
, который дает вам:
newy = A/newx
newy = newx/(oldx/oldy)
A/newx = newx/(oldx/oldy)
A * oldx/oldy = newx^2
, который затем решает, чтобы:
newx = sqrt(A * oldx/oldy)
newy = A/newx
Тогда снова, это математика вопрос, не программирование одного ...
Дать п у Вас есть два изображения с размерами (w1, h1) и (w2, h2), и вы хотите масштабировать второе изображение в той же области, что и первый, сохраняя при этом соотношение сторон, а затем
A = w1 * h1
new_w2 = sqrt(A * (w2/h2))
new_h2 = A/new_w2
Я думаю, что это должно быть new_w2 = sqrt (A * (w2/h2)) –
Исправить. Исправлена. –
мне нужно программировать это в C# ... –
И в чем проблема? Единственное, что изменилось, это 'Math.sqrt'. И это еще вопрос математики. – Amadan