2012-10-14 5 views
0

현재 PHP GD에서 사용할 수있는 imagerotate()를 사용하여 사용자가 이미지를 회전 할 수있게했습니다. 사용자가 45도, 75도 등으로 회전 할 때마다 배경색이 추가되어 이미지의 사각형 모양을 만듭니다. 사용자가 회전하는 시간이 길수록 이미지 크기가 커지고 배경색 영역이 넓어집니다.파일 크기를 늘리지 않고 PHP에서 이미지를 반복적으로 회전하는 방법

$image = imagerotate($image,45, 0xFFFFFF); 

무료 학위를 가진 이미지를 회전 PHP의 GD에 어쨌든 있는가 (예 : 45 개도, 75 개도, 306도) 어떤 배경 이미지를 추가하지 않고 또는 파일 이미지를 증가시키지 않고?

편집 : 이미지 크기가 커지고 흰색 영역이 넓어지면서 "치명적인 오류 : 사용 가능한 메모리 크기가 33554432 바이트가되었습니다."오류가 발생합니다. 그래서 이미지를 회전하는 다른 방법을 알고 싶습니다.

감사합니다.

+0

이미지 파일은 항상 rect입니다. 이미지를 회전 할 때 이미지 크기가 채워지지 않는다고 상상하는 방법은 무엇입니까? (이미지가 정사각형이 아닌 경우) –

+1

원본 이미지를 그대로 유지하면서 모든 회전의 합계를 추적하고 원본 이미지를 해당 총량만큼 한 번만 회전 시키려 했습니까? – DCoder

+0

@DCoder, thx ... 그랬지 만 사용자가 회전 각도를 변경하면 변경 사항을 볼 필요가 있습니다. 그래서 내가 그렇게 할 수 없다. – ATZ

답변

0

배경을 검은 색으로 설정하십시오. 0이되며 JPEG도 압축 된 이미지 형식입니다. 이 도움이 될 수 있습니다 - 나는 자신을 테스트하지 않았습니다. 시도 해봐.

예 :

$image = imagerotate($image, 45, 0x000000); 
+0

검정과 JPEG로 시도했지만 작동하지 않았습니다. – ATZ

+0

와우 ... 죄송합니다 ... 실제로 픽셀을 추가하고 있으므로 실제로는 파일에 가중치를 추가 할 것으로 예상됩니다. – NYCBilly

0

내가 DCoder 같은 대답 여기에 몇 가지 코드를 작성하고 있었다.

이것은 하나의 변환 만 필요하므로 적용 할 수있는 최상의 프로세스입니다.

바이

관련 문제