최신 웹 사이트 개발에서는 이미지 크기를 최적화하는 것이 페이지 로딩 속도 및 사용자 경험을 향상시키는 데 특히 중요합니다. 동일한 비율 압축 기술을 통해 이미지 파일 볼륨을 효과적으로 줄일 수 있으며 그림의 원래 종횡비를 유지할 수 있습니다. 이 기사는 PHP의 GD 라이브러리를 사용 하여이 기능을 구현하고 실제 코드 예제를 제공하는 방법을 소개합니다.
그림의 동일한 비례 압축의 기본 아이디어는 다음과 같습니다. 원래 이미지의 종횡비에 기초하여 대상 너비 (또는 높이)를 기반으로 해당 대상 높이 (또는 너비)를 계산하여 그림을 변형으로부터 유지합니다. 이 프로세스는 이미지 정보 읽기, 캔버스 생성, 스케일링 및 출력 이미지를 포함하여 PHP의 GD 확장을 사용하여 쉽게 달성 할 수 있습니다.
첫 번째 단계는 getImagesize () 함수를 통해 원본 그림의 너비와 높이를 읽는 것입니다.
$originalImagePath = 'path/to/original/image.jpg';
$originalImageSize = getimagesize($originalImagePath);
$originalWidth = $originalImageSize[0];
$originalHeight = $originalImageSize[1];
목표 너비의 설정에 따라 비율에 따라 목표 높이를 계산합니다.
$targetWidth = 800;
$targetHeight = $originalHeight * ($targetWidth / $originalWidth);
GD 라이브러리를 사용하여 이미지 리소스를 생성하고 동일한 규모 압축을 수행하십시오.
$originalImage = imagecreatefromjpeg($originalImagePath);
$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);
그런 다음 이미지 스케일링 작업을 수행하려면 imageecopyresampled () 함수를 사용하십시오.
imagecopyresampled(
$targetImage,
$originalImage,
0, 0, 0, 0,
$targetWidth, $targetHeight,
$originalWidth, $originalHeight
);
마지막으로 압축 이미지를 지정된 경로로 저장하십시오.
$targetImagePath = 'path/to/target/image.jpg';
imagejpeg($targetImage, $targetImagePath, 80); // 압축 품질이 설정됩니다80%
이 기사에 표시된 단계를 통해 개발자는 PHP에서 사진의 동일한 규모 압축을 쉽게 달성 할 수 있으며, 이는 사진의 품질을 보장 할뿐만 아니라 파일 크기를 효과적으로 줄일 수 있습니다. 이러한 유형의 처리는 특히 사진 앨범 디스플레이, 기사 커버 사진, 제품 사진 등과 같은 프론트 엔드 성능을 최적화 해야하는 시나리오에 적합합니다.이 기술을 마스터하면 웹 사이트의 전반적인 성능을 향상시키는 데 도움이됩니다.