현재 위치: > 최신 기사 목록> imageCopyResAmpled ()와 imageFlip ()를 결합하여 축소판을 만듭니다

imageCopyResAmpled ()와 imageFlip ()를 결합하여 축소판을 만듭니다

M66 2025-05-31

이미지 썸네일로 작업 할 때는 특정 시각적 효과의 요구를 충족시키기 위해 이미지 크기를 줄일뿐만 아니라 이미지 크기를 줄일뿐만 아니라 이미지 크기를 줄일뿐만 아니라 이미지 크기를 줄일뿐만 아니라 이미지 크기 (예 : 수평 또는 수직)를 뒤집어야합니다. PHP는 각각 이미지 스케일링 및 이미지 뒤집기에 사용되는 imagecopyresampled ()imageflip ()의 두 가지 매우 실용적인 기능을 제공합니다. 뒤집고 고품질 썸네일을 만들고 싶다면이 두 기능이 완벽하게 작동합니다.

1. 두 핵심 기능을 이해하십시오

imageCopyResAmpled ()

이 기능은 이미지의 일부를 다른 이미지로 복사하고 스케일링하여 고품질 이미지 스케일링 처리를 지원합니다. ImageCopyresized () 와 비교하여, 그 효과는 더 섬세하고 썸네일을 생성하는 데 적합합니다.

imageflip ()

ImageFlip () 함수는 동시에 수평, 수직 및 수평 + 수직 플립을 지원하는 이미지를 뒤집는 데 사용됩니다. 이 기능은 PHP 5.5 이후에 도입되었습니다.

2. 실제 예 : 뒤집힌 ​​고품질 썸네일 생성

다음은 원본 이미지를 확장하여 썸네일을 생성 한 다음 썸네일을 가로로 뒤집는 전체 예제 코드입니다.

 <?php
// 원본 이미지 경로
$sourcePath = 'https://m66.net/uploads/sample.jpg';

// 이미지 정보를 얻으십시오
list($width, $height, $type) = getimagesize($sourcePath);

// 이미지 리소스를 만듭니다
switch ($type) {
    case IMAGETYPE_JPEG:
        $sourceImage = imagecreatefromjpeg($sourcePath);
        break;
    case IMAGETYPE_PNG:
        $sourceImage = imagecreatefrompng($sourcePath);
        break;
    case IMAGETYPE_GIF:
        $sourceImage = imagecreatefromgif($sourcePath);
        break;
    default:
        die('지원되지 않는 이미지 유형');
}

// 썸네일 크기
$newWidth = 150;
$newHeight = intval($height * $newWidth / $width);

// 대상 이미지 리소스를 만듭니다
$thumbImage = imagecreatetruecolor($newWidth, $newHeight);

// 고품질 스케일링
imagecopyresampled($thumbImage, $sourceImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);

// 플립 썸네일(수평 플립)
imageflip($thumbImage, IMG_FLIP_HORIZONTAL);

// 브라우저 또는 저장으로 출력
header('Content-Type: image/jpeg');
imagejpeg($thumbImage);

// 자원을 파괴하십시오
imagedestroy($sourceImage);
imagedestroy($thumbImage);
?>

3. 주목해야 할 것들

  • ImageFlip ()을 사용하기 전에 PHP 버전이 5.5보다 낮지는 않습니다.

  • 이미지 비율을 유지하려면 원본 이미지의 종횡비에 따라 썸네일 크기를 계산하는 것이 좋습니다.

  • PNG 이미지를 처리하는 경우 투명한 배경 (예 : imagealphableandending ()imagesAvealpha () 사용)을 처리하십시오.

4. 실제 응용 시나리오

이 처리 방법은 전자 상거래 플랫폼, 갤러리, 컨텐츠 관리 시스템 및 기타 시나리오에서 매우 일반적입니다. 특히 이미지 미리보기를 생성하고 미러와 같은 시각적 효과 (예 : ImageFlip ()ImageCopyResAmpled () 의 조합이 개발 효율성 및 이미지 품질을 크게 향상시킬 수 있습니다.

이 기사의 설명을 통해 쉽게 이해할 수 있습니다