Страницы

Поиск по вопросам

понедельник, 12 ноября 2018 г.

Обрезка изображения после поворота

Вначале было красное изображение, дабы его повернуть без потерь создается временное желтое, но оно избыточно.

Требуется обрезать временное желтое, до зеленого.
Подразумевается что исходное изображение может быть произвольного размера. Угол поворота так же произволен.


Ответ

Если нарисовать повернутый прямоугольник и его ограничивающий прямоугольник, и пометить углы, равные углу поворота Fi, то видно, например, что
CD = DH + HC = EH * Cos(Fi) + GH * Sin(Fi)

и формулы для размера будут такие:
New_Height = Old_Width * Abs(Sin(Fi)) + Old_Height * Abs(Cos(Fi)) New_Width = Old_Width * Abs(Cos(Fi)) + Old_Height * Abs(Sin(Fi))

Комментариев нет:

Отправить комментарий