PHP에서 이미지 자르기
PHP에서 이미지를 자를 때, 특히 큰 이미지를 처리할 때 문제가 발생할 수 있습니다. 한 가지 해결 방법은 "이미지 축소"입니다.
주어진 예제 코드에서는 이미지가 고정된 크기(200x150)로 잘려서 더 큰 이미지에는 맞지 않을 수 있습니다. 자르기 전에 일관된 이미지 크기를 얻으려면 imagecopyresampled() 함수를 사용하는 것이 좋습니다.
다음 공식을 사용하여 썸네일을 생성할 수 있습니다.
$image = imagecreatefromjpeg($_GET['src']); $filename = 'images/cropped_whatever.jpg'; $thumb_width = 200; $thumb_height = 150; $width = imagesx($image); $height = imagesy($image); $original_aspect = $width / $height; $thumb_aspect = $thumb_width / $thumb_height; if ( $original_aspect >= $thumb_aspect ) { // 图像更宽(纵横比意义上) $new_height = $thumb_height; $new_width = $width / ($height / $thumb_height); } else { // 缩略图更宽 $new_width = $thumb_width; $new_height = $height / ($width / $thumb_width); } $thumb = imagecreatetruecolor( $thumb_width, $thumb_height ); // 调整大小并裁剪 imagecopyresampled($thumb, $image, 0 - ($new_width - $thumb_width) / 2, // 水平居中图像 0 - ($new_height - $thumb_height) / 2, // 垂直居中图像 0, 0, $new_width, $new_height, $width, $height); imagejpeg($thumb, $filename, 80);
이 코드는 이미지 가로 세로 비율을 고려하여 크기가 조정된 이미지가 썸네일 크기와 동일한 가로 세로 비율을 갖도록 합니다. 따라서 왜곡을 방지합니다. 크기 조정 및 자르기 후에는 원본 이미지 크기에 관계없이 일관된 크기의 이미지가 생성됩니다.
위 내용은 PHP에서 이미지를 자를 때 이미지 종횡비를 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!