PHP의 애니메이션 보존 기능을 사용하여 애니메이션 GIF 크기 조정
애니메이션을 유지하면서 애니메이션 GIF 크기를 조정하려면 ImageMagick과 같은 외부 도구를 사용하거나 GD 라이브러리 기능의 조합.
ImageMagick 방법:
ImageMagick에 액세스할 수 있는 경우 다음 명령을 사용하여 애니메이션 GIF의 크기를 조정할 수 있습니다.
system("convert big.gif -coalesce coalesce.gif"); system("convert -size 200x100 coalesce.gif -resize 200x10 small.gif");
GD 라이브러리 방법:
ImageMagick에 액세스할 수 없는 PHP 사용자의 경우 애니메이션 GIF 크기 조정에는 여러 단계가 필요합니다.
1. 이미지 유형 감지:
GD를 사용하여 이미지가 애니메이션 GIF인지 확인합니다.
2. 프레임으로 분할:
GD 라이브러리나 타사 클래스를 사용하여 GIF를 개별 프레임으로 분리합니다.
3. 프레임 크기 조정:
GD 라이브러리 기능을 사용하여 각 개별 프레임의 크기를 조정합니다.
4. 프레임 재구성:
GD 또는 전문 라이브러리를 사용하여 크기가 조정된 프레임을 새로운 애니메이션 GIF로 다시 조립합니다.
예제 코드:
// Get image $sourceGif = imagecreatefromgif("big.gif"); // Determine if animated if (gdImageAnimationLen($sourceGif) > 1) { // Split into frames $frames = $frames = gdImageSplitAnimation($sourceGif); // Resize frames $resizedFrames = []; foreach ($frames as $frame) { $resizedFrames[] = gdImageScale($frame, $newWidth, $newHeight); } // Recomposite GIF $newGif = $newGif = gdImageCreateAnimatedGif() ; foreach ($resizedFrames as $frame) { gdImageAddGif($newGif, $frame); } // Output GIF imagegif($newGif, "small.gif"); }
참고 이 방법은 병합 및 최적화 해제 프로세스로 인해 더 큰 파일 크기를 생성할 수 있습니다. 성능이 우려된다면 대신 ImageMagick을 사용해 보세요.
위 내용은 애니메이션을 유지하면서 PHP에서 애니메이션 GIF의 크기를 어떻게 조정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!