> 백엔드 개발 > PHP 튜토리얼 > 이미지 스케일링을 달성하기 위해 imagecopyresampled 함수를 사용한 PHP 이미지 처리 example_php 기술

이미지 스케일링을 달성하기 위해 imagecopyresampled 함수를 사용한 PHP 이미지 처리 example_php 기술

WBOY
풀어 주다: 2016-05-16 20:31:03
원래의
1099명이 탐색했습니다.

웹사이트 최적화는 코드에만 집중할 수 없습니다. 콘텐츠도 웹사이트의 가장 중요한 개체 중 하나이며, 이미지는 웹사이트에서 가장 중요한 콘텐츠입니다. 이미지를 최적화할 때 가장 중요한 것은 웹사이트에 업로드된 모든 큰 이미지를 자동으로 작은 이미지(웹페이지에 적합한 크기)로 크기 조정하여 저장 공간을 N배로 줄이고 속도를 높이는 것입니다. 다운로드 및 탐색. 따라서 이미지를 동적 웹사이트로 확장하는 작업은 종종 파일 업로드와 연결되어 이미지를 업로드하는 동안 크기가 조정될 수 있습니다. 물론, 이미지 크기 조정을 별도로 처리해야 하는 경우도 있습니다. 예를 들어 사진 목록을 만들 때 큰 이미지를 직접 사용하고 표시할 때 작은 이미지로만 확대하면 다운로드 속도가 느려질 뿐만 아니라 속도를 높일 뿐 아니라 페이지 응답 시간도 줄입니다. 일반적으로 이러한 응용 프로그램을 접하면 사진을 업로드할 때 목록을 만드는 데 특별히 사용되는 작은 아이콘이 사진에 맞게 조정됩니다. 이 작은 아이콘을 클릭하면 탐색을 위해 큰 사진이 다운로드됩니다.

GD 라이브러리를 사용하여 이미지 크기 조정을 처리합니다. 일반적으로 imagecopyresize() 및 imagecopyresampled() 함수 중 하나를 사용하면 imagecopyresampled() 함수가 더 좋아집니다. 여기에서는 imagecopyresampled() 함수를 사용하는 방법만 소개합니다. 이 함수의 프로토타입은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

bool imagecopyresampled(리소스 dst_image,리소스 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)

이 기능은 한 이미지에서 다른 이미지로 정사각형 영역을 복사하여 픽셀 값을 부드럽게 보간하여 매우 높은 해상도를 유지하면서 이미지 크기를 줄입니다. 성공하면 TRUE를, 실패하면 FALSE를 반환합니다. dst_image 및 src_image 매개변수는 각각 대상 이미지와 소스 이미지의 식별자입니다. 소스와 대상의 너비와 높이가 다른 경우 이미지는 그에 따라 줄어들거나 늘어납니다. 좌표는 왼쪽 위 모서리를 참조합니다. 이 함수는 동일한 이미지(dst_image와 src_image가 동일한 경우) 내에서 복사하는 데 사용할 수 있지만 영역이 겹치는 경우 결과를 예측할 수 없습니다. 다음 예에서는 JPEG 이미지 형식을 예로 들어 이미지 크기 조정 함수 Thumb()을 작성합니다.

코드 복사 코드는 다음과 같습니다.

//이미지를 확대하거나 축소하는 데 사용됩니다
함수 썸($filename,$width=200,$height=200){
​​​​ //원본 이미지 $filename의 너비 $width_orig 및 높이 $height_orig
를 가져옵니다. 목록($width_orig,$height_orig) = getimagesize($filename);
//매개변수 $width 및 $height 값에 따라 비례적으로 조정된 높이와 너비를 변환합니다
If ($width && ($width_orig<$height_orig)){
              $width = ($height/$height_orig)*$width_orig;
          }그 외{
              $height = ($width / $width_orig)*$height_orig;
       }

            // 새로 생성된 이미지 리소스에 맞게 원본 이미지의 크기를 조정합니다.
         $image_p = imagecreatetruecolor($width, $height);
​​​​ //원본 이미지의 이미지 리소스 가져오기
         $image = imagecreatefromjpeg($filename);

​​​​ //imagecopyresampled() 함수를 사용하여 확대/축소 설정
Imagecopyresampled($image_p,$image,0,0,0,0,$width,$height,$width_orig,$height_orig);

​​​​ //확대된 이미지 저장 $image_p, 100(최고 품질, 최대 파일)
Imagejpeg($image_p,$filename);

이미지 파괴($image_p);
이미지 파괴($image);
}

Thumb("brophp.jpg",100,100);
?>
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿