현재 위치: > 최신 기사 목록> 동적 이미지를 플립 : ImageGif ()를 결합하여 여러 프레임을 처리합니다

동적 이미지를 플립 : ImageGif ()를 결합하여 여러 프레임을 처리합니다

M66 2025-06-02

PHP에서 imageFlip ()는 이미지를 뒤집는 데 사용할 수있는 매우 실용적인 기능입니다. 정적 이미지를 뒤집을 수 있지만 동적 이미지 (예 : GIF 애니메이션) 작업을 수행하면 모든 프레임을 어떻게 처리합니까? 이 기사는 imageGif () 함수를 결합하여 프레임별로 GIF 애니메이션 프레임을 플립하는 방법을 소개합니다.

1 단계 : GIF 이미지를로드하십시오

먼저 GIF 애니메이션을로드하고 이미지의 각 프레임을 가져와야합니다. imageCreateFromGif () 를 통해 동적 이미지를로드하고 imageGif ()를 사용하여 각 프레임의 수정 결과를 저장할 수 있습니다.

 <?php
// 짐 GIF 영화 사진
$imagePath = "path_to_your_gif.gif";
$image = imagecreatefromgif($imagePath);

// 얻다 GIF 프레임 수
$frames = [];
$delays = [];
$frameCount = count($frames);

for ($i = 0; $i < $frameCount; $i++) {
    // 逐帧얻다图像
    $frame = imagecreatefromgif($image);
    $frames[] = $frame;
    $delays[] = 100; // 프레임 지연 시간을100
}
?>

2 단계 : imageFlip ()를 사용하여 각 프레임을 뒤집습니다

이미지의 각 프레임마다 imageFlip ()를 사용하여 이미지를 뒤집을 수 있습니다. ImageFlip ()는 수평 또는 수직 플립과 같은 방향성 매개 변수를 허용 할 수 있습니다. 일반적으로 사용되는 매개 변수는 다음과 같습니다.

  • img_flip_horizontal : 수평 플립

  • img_flip_vertical : 수직 플립

여기서 우리는 각 프레임을 가로로 뒤집기로 선택합니다.

 <?php
foreach ($frames as $frame) {
    // 사용 imageflip() 각 프레임을 가로로 뒤집습니다
    imageflip($frame, IMG_FLIP_HORIZONTAL);
}
?>

3 단계 : 새로운 GIF 애니메이션을 저장하고 출력하십시오

다음으로 ImageGif ()를 사용하여 각 처리 된 프레임을 GIF 애니메이션으로 저장하십시오. 저장하기 전에 각 프레임의 순서와 지연 시간이 올바르게 적용되어야합니다.

 <?php
// 출력을 설정하십시오 GIF 파일 경로
$outputPath = "path_to_output_gif.gif";
$imagegif($frames[0], $outputPath); // 첫 번째 프레임을 저장하십시오

// 나머지 프레임을 저장하십시오
for ($i = 1; $i < count($frames); $i++) {
    // 모든 프레임을 추가하십시오 GIF 영화 사진
    imagegif($frames[$i], $outputPath);
}
?>

4 단계 : 무료 리소스

이미지 처리가 완료된 후 메모리 누출을 피하기 위해 모든 리소스를 해제해야합니다.

 <?php
// 이미지 리소스의 모든 프레임을 해제하십시오
foreach ($frames as $frame) {
    imagedestroy($frame);
}
// 무료 원본 이미지 리소스
imagedestroy($image);
?>

요약

ImageFlip ()ImageGif ()를 사용하면 프레임별로 새로운 GIF 애니메이션 프레임을 편리하게 뒤집고 저장할 수 있습니다. 이 방법은 각 프레임을 뒤집고 새로운 GIF가 출력되는 장면에 특히 적합합니다. 각 프레임에 다양한 처리 방법을 적용하거나 필요에 따라 애니메이션 효과를 추가 할 수도 있습니다.