PHP의 이미지 처리는 특히 이미지 편집을 자동화하거나 아바타 자르기, 썸네일 생성 또는 이미지 미화와 같은 이미지 처리 기능을 구축하려는 경우 강력한 기술입니다. 이 기사는 ImageFlip () 및 ImagesCale () 의 두 GD 라이브러리 기능을 사용하여 이미지 이미지 효과 처리를 달성하기 위해 자르기, 스케일 및 플립 이미지를 사용하는 방법을 소개합니다.
시작하기 전에 PHP 환경에서 GD 라이브러리가 활성화되어 있는지 확인하십시오. 다음 코드를 실행하여 확인할 수 있습니다.
if (extension_loaded('gd')) {
echo "GD 활성화";
} else {
echo "활성화하십시오 GD 펼친";
}
예제로 JPEG 이미지를 찍어 먼저 메모리에로드합시다.
$imagePath = 'https://m66.net/images/sample.jpg';
$image = imagecreatefromjpeg($imagePath);
원래 이미지의 중앙에 200x200 영역을 자르고 싶다고 가정하면 imageCrop ()를 사용할 수 있습니다.
$cropWidth = 200;
$cropHeight = 200;
$width = imagesx($image);
$height = imagesy($image);
$cropX = ($width - $cropWidth) / 2;
$cropY = ($height - $cropHeight) / 2;
$croppedImage = imagecrop($image, [
'x' => $cropX,
'y' => $cropY,
'width' => $cropWidth,
'height' => $cropHeight
]);
ImagesCale ()을 사용하여 이미지를 확장하여 이미지를 100x100으로 축소하십시오.
$scaledImage = imagescale($croppedImage, 100, 100);
너비 만 제공하고 높이를 자동으로 스케일로 확장 할 수 있습니다.
$scaledImage = imagescale($croppedImage, 100);
다음으로 ImageFlip ()을 사용하여 이미지를 가로 또는 수직으로 뒤집습니다.
// 수평 플립
imageflip($scaledImage, IMG_FLIP_HORIZONTAL);
// 수직 플립(위의 무결,대신이 줄을 사용해보십시오)
// imageflip($scaledImage, IMG_FLIP_VERTICAL);
IMG_FLIP_BOTH를 사용하여 동시에 수평 및 수직으로 뒤집을 수 있습니다.
처리 된 이미지를 브라우저에 출력 할 수 있습니다.
header('Content-Type: image/jpeg');
imagejpeg($scaledImage);
imagedestroy($scaledImage);
또는 서버의 파일에 저장하십시오.
imagejpeg($scaledImage, '/var/www/m66.net/public/processed.jpg');
ImageFlip () 및 ImagesCale ()을 조합하여 사용하면 이미지를 유연하게 처리 할 수 있으며 imageCrop ()를 결합하면보다 복잡한 이미지 사용자 정의 효과를 달성 할 수 있습니다. 이는 이미지 편집기, 사용자 아바타 처리 모듈 또는 컨텐츠 디스플레이 시스템을 만드는 데 매우 유용합니다.
잊지 마십시오. imageStroy ()를 사용하여 모든 처리 된 이미지 리소스에 대한 메모리를 확보하여 스크립트 효율성 및 리소스 릴리스를 보장하십시오.
imagedestroy($image);
imagedestroy($croppedImage);
이 기사가 PHP 이미지 처리로가는 길에 도움이되기를 바랍니다. 다른 이미지 처리 기능에 관심이 있으시면 GD 라이브러리의 더 많은 기능을 계속 살펴보십시오.