현재 위치: > 최신 기사 목록> PHP의 ImageFlip 함수를 사용하여 이미지를 뒤집고 압축하여 이미지 파일의 크기를 줄이는 방법은 무엇입니까?

PHP의 ImageFlip 함수를 사용하여 이미지를 뒤집고 압축하여 이미지 파일의 크기를 줄이는 방법은 무엇입니까?

gitbox 2025-05-20

이미지 처리는 웹 개발에서 매우 일반적인 요구 사항입니다. 백엔드 언어로서 PHP는 다양한 이미지 작업을 지원하는 강력한 GD 라이브러리를 제공합니다. 이 기사는 PHP의 내장 ImageFlip 함수를 사용하여 이미지를 뒤집고 압축 기술을 결합하여 이미지 파일의 크기를 효과적으로 줄이는 방법을 소개합니다.

1. ImageFlip 함수는 무엇입니까?

ImageFlip 은 PHP 5.5.0 이상에서 도입 된 기능이며 이미지 리소스를 뒤집는 데 사용됩니다. 수평 플립, 수직 플립 및 동시에 수평 및 수직 플립을 지원합니다.

기능 프로토 타입 :

 bool imageflip ( resource $image , int $mode )
  • $ 이미지 : 뒤집어 야하는 이미지 리소스.

  • $ 모드 : 플립 모드, 선택적 값 :

    • img_flip_horizontal (수평 플립)

    • img_flip_vertical (수직 플립)

    • img_flip_both (동시에 수평 및 수직으로 플립)

2. 이미지 뒤집기를위한 샘플 코드

input.jpg 라는 이미지가 있다고 가정하고 다음이 이미지를 가로로 뒤집는 방법을 보여줍니다.

 <?php
// 1. 이미지 파일을 읽으십시오
$imagePath = 'input.jpg';
$image = imagecreatefromjpeg($imagePath);
if (!$image) {
    die('사진을로드 할 수 없습니다');
}

// 2. 사용 imageflip 이미지를 뒤집습니다(수평 플립)
if (!imageflip($image, IMG_FLIP_HORIZONTAL)) {
    imagedestroy($image);
    die('이미지 플립이 실패했습니다');
}

// 3. 뒤집힌 이미지를 저장하십시오
$outputPath = 'flipped.jpg';
if (!imagejpeg($image, $outputPath)) {
    imagedestroy($image);
    die('이미지를 저장하지 못했습니다');
}

// 4. 리소스를 자유롭게합니다
imagedestroy($image);

echo "그림을 성공적으로 뒤집습니다,저장:{$outputPath}";
?>

3. 압축을 통해 이미지 파일 크기를 줄입니다

PHP의 ImageJPeg 함수는 0 (최악의 품질, 최소 파일)에서 100 (최상의 품질, 최대 파일) 범위의 압축 품질 설정을 지원합니다. 압축 품질의 적절한 조정은 시각적 효과를 유지하면서 그림의 크기를 효과적으로 줄일 수 있습니다.

위 코드에서 저장된 부분을 수정하십시오.

 // 압축 품질을 설정하십시오 75
$quality = 75;
if (!imagejpeg($image, $outputPath, $quality)) {
    imagedestroy($image);
    die('이미지를 저장하지 못했습니다');
}

4. 완전한 예 - 이미지를 플립하고 압축하십시오

다음은 이미지의 읽기를 보여주는 포괄적 인 예입니다. 수평으로 뒤집힌 후 압축 및 저장된 예제입니다.

 <?php
$imagePath = 'input.jpg';
$outputPath = 'flipped_compressed.jpg';

// 1. 이미지로드
$image = imagecreatefromjpeg($imagePath);
if (!$image) {
    die('사진을로드 할 수 없습니다');
}

// 2. 이미지를 뒤집습니다(수직 플립 예제)
if (!imageflip($image, IMG_FLIP_VERTICAL)) {
    imagedestroy($image);
    die('이미지 플립이 실패했습니다');
}

// 3. 압축 품질을 설정하여 이미지를 저장하십시오
$quality = 70; // 요구 사항에 따라 조정할 수 있습니다
if (!imagejpeg($image, $outputPath, $quality)) {
    imagedestroy($image);
    die('이미지를 저장하지 못했습니다');
}

// 4. 리소스를 자유롭게합니다
imagedestroy($image);

echo "이미지가 성공적으로 뒤집히고 압축되었습니다,경로를 저장하십시오:{$outputPath}";
?>

5. 요약

  • ImageFlip 함수를 사용하면 이미지의 수평, 수직 또는 양방향 플립을 빠르게 달성 할 수 있습니다.

  • ImageJPeg 함수의 세 번째 매개 변수를 통해 출력 JPEG 이미지의 압축 품질을 제어하여 파일 크기를 줄일 수 있습니다.

  • 압축 품질을 합리적으로 조정하면 사진의 시각적 효과를 유지하고 웹 사이트로드 속도를 향상시키는 동시에 파일 크기가 크게 줄어 듭니다.

더 많은 PHP 이미지 처리 자습서를 보려면 https://gitbox.net/tutorials/php-image-processing을 방문하십시오