PHP 개발 썸네일 작업 파일
파일 작업
<?php /*打开图片*/ $src = "https://img.php.cn/upload/course/000/000/004/581454f755fb1195.jpg"; $info = getimagesize($src); $type = image_type_to_extension($info[2],false); $fun = "imagecreatefrom{$type}"; $image = $fun($src); /*操作图片*/ //在内存中建立一个宽300高200的真色彩图片 $image_thumb = imagecreatetruecolor(300,200); //将原图复制到新建的真色彩图片上,并且按照一定比例压缩(参数1:真色彩图片,参数2:原图,参数3,4,5,6:原图和真色彩图的起始点,参数7,8:原图和真色彩图的结束点,参数9:原图宽,参数10:原图高) imagecopyresampled($image_thumb,$image,0,0,0,0,300,200,$info[0],$info[1]); //销毁原始图片 imagedestroy($image); ?>
코드 설명:
먼저 메모리에 지정된 크기의 컬러 캔버스를 만듭니다.
imagecreatetruecolor()는 이미지 크기를 나타내는 이미지 식별자를 반환합니다. x_size 및 y_size의 검은색 이미지.
함수를 사용할 때 imagecopyresampled()
bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
imagecopyresampled()는 한 이미지에서 다른 이미지로 정사각형 영역을 복사하여 픽셀 값을 부드럽게 보간하므로 특히 이미지 크기를 줄여도 여전히 뛰어난 선명도를 유지합니다.
dst_image
대상 이미지 연결 리소스입니다.
src_image
원본 이미지 링크 리소스입니다.
dst_x
대상 X 좌표점.
dst_y
대상 Y 좌표점.
src_x
소스의 X 좌표점입니다.
src_y
소스의 Y 좌표점입니다.
dst_w
타겟 너비.
dst_h
목표 높이.
src_w
소스 이미지의 너비입니다.
src_h
소스 이미지의 높이입니다.
그러면 메모리에 복사된 이미지를 파기하세요.