2012-02-16 4 views
0

Например, я получил положение изображения в 10,10 с шириной 100 и высотой 120. Я центрировал его по часовой стрелке на 20 градусов, положение будет меньше, а размер будет больше, так как край будет выходить, но как бы я вычислил значение для них?Как получить развернутое изображение региона?

Не уверен, что я поставил вопрос достаточно ясно, изменит его, если найду лучший способ его объяснить.

Попытка сделать это в Android

+0

Самый простой способ выразить такие вещи, чтобы представить картину с изложением краской или какую программу вы хотите вычислить – fyr

+0

, это то, что я пытаюсь выполнить, я хочу знать, как нарисовать схему (откуда и насколько она велика), поскольку фактический файл изображения не был r Повернуть по; он просто вращается, когда он нарисован на холсте. – Fuse

+0

Я хочу значение контура, потому что я могу использовать его для другого обнаружения, такого как обнаружение конфликтов и щелчков. – Fuse

ответ

0

Я предполагаю, что вы хотите знать, как ограничивающий прямоугольник объекта преобразуется, если вращать его вокруг своего центра.

Если оригинал коробка имеет ширину ш и высота Н, новый, после поворота на г, имеет размеры:

ш г = абс (син (г)) * H + ABS (COS (г)) * ш
ч г = абс (син (г)) * W + абс (соз (г)) * ч

+0

это то, что я сделал на вашей формуле width2 = ((Math.abs (Math.sin (угол)) * высота) + (Math.abs (Math.cos (угол)) * ширина)); высота2 = ((Math.abs (Math.sin (угол)) * ширина) + (Math.abs (Math.cos (угол)) * высота))); но результат не такой, как ожидалось, от одного угла увеличения высота/ширина может идти от 235 до 197, я делаю что-то неправильно? – Fuse

+0

мой блок 200x150 в 90 градусов - 223x246, что может быть правильным – Fuse

+0

Функции sin и cos на вашей системе, вероятно, ожидают радианы, а не градусы. –

Смежные вопросы