2012-02-28 8 views
7

이미지를 더 작게 만들지 않고 이미지를 회전하고 싶습니다 (회전 각도는 사용자 정의). 이미지 회전 * 크기를 조정하지 않고

  1. 내가, 새 이미지 크기 인 파선을하고 싶은 것입니다 작은 이미지로 음영 처리 된 영역을 저장, 이미 일 것입니다.

서버의 PHP 5.3 이상. 링크, 코드 및 설명 모두 매우 환영합니다.

+2

가 이미지를 회전하는 방법을 알고. – JJJ

+1

http://php.net/manual/en/function.imagerotate.php를보고'imagerotateEquivalent()'함수를 체크 아웃하십시오. 나는 그런 것들이 이런 식으로 살아갈 수 있다고 생각합니다. – Cyclonecode

+0

"인터넷 검색을 많이했으나"imagerotate의 매뉴얼 페이지에 대한 의견을 검토하지는 않았습니다. –

답변

2

이것은 완전한 대답은 아니지만 네 모서리를 각도로 회전시킨 다음 새 좌표의 범위를 기반으로 새 경계 상자를 계산합니다. (원점이 왼쪽 하단에있는 좌표라고 가정).

corners = rotate_each ([(left,top) (left,bottom), (right,top), (right,bottom)], angle) 
new_bb_left = min([corners[0].x, corners[1].x, corners[2].x, corners[3].x]) 
new_bb_right = max([corners[0].x, corners[1].x, corners[2].x, corners[3].x]) 
new_bb_bottom = min([corners[0].y, corners[1].y, corners[2].y, corners[3].y]) 
new_bb_top = max([corners[0].y, corners[1].y, corners[2].y, corners[3].y]) 
1

이렇게 할 수 있습니다. 대각선 너비를 계산하십시오. 당신이 변환 된 이미지에 적용 할 수있는 대각선 폭을 가져야한다 그런 식으로 http://se2.php.net/manual/en/function.sqrt.php :

Check this image for the formula

PHP는 제곱근 기능을 가지고 있습니다.

관련 문제