PHP 처리 이미지 크기 공유 예시

*文
풀어 주다: 2023-03-18 09:46:01
원래의
1451명이 탐색했습니다.

사용자가 업로드한 사진은 매우 큰 경우가 많으므로 원본 사진을 직접 반환하면 서버 대역폭을 많이 차지하게 됩니다. 이때 이미지 크기를 처리해야 하는데, PHP는 이미지 크기를 어떻게 처리합니까? 이 기사에서는 GD 라이브러리를 사용하여 이미지 크기를 처리하는 예를 공유합니다.

1. PHP 방식을 사용하여 이미지 크기를 수정하고 저장합니다

----------

준비작업: 1. 원본 이미지 링크 필요 2. GD 라이브러리 지원

----------------------------- ---- -----

원본 이미지 링크 가정: $url;

메소드 작업:

1단계: $arrimg = getimagesize($url);

+++++++++ +++ ++++++++++++++++++++++++++++++++++++++++++++

$arrimg: 형식은 다음과 같습니다.

Array
(
    [0] => 350
    [1] => 318
    [2] => 2
    [3] => width="350" height="318"
    [bits] => 8
    [channels] => 3
    [mime] => image/jpeg
)
로그인 후 복사

설명: $arrimg[2]의 숫자는 다양한 이미지 유형의 숫자 ​​인덱스를 나타냅니다. 보기:

반환 결과 설명

Index 0은 이미지 너비의 픽셀 값을 제공합니다

Index 1 나오는 것은 이미지 높이의 픽셀 값입니다

인덱스 2는 이미지 유형을 제공하고 숫자를 반환합니다. 여기서 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(인텔 바이트 순서), 8 = TIFF(모토로라 바이트 순서)

, 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM

인덱스 3은 HTML의 태그에서 직접 사용할 수 있는 너비와 높이의 문자열을 제공합니다.

인덱스 비트는 이미지의 각 색상에 대한 비트 수를 제공하고, 바이너리 형식

인덱스 채널은 이미지의 채널 값은 3입니다.

인덱스 MIME은 이미지의 MIME 정보를 제공합니다. 이 정보는 다음과 같은 HTTP 콘텐츠 유형 헤더 정보에 올바른 정보를 보내는 데 사용될 수 있습니다.

헤더("콘텐츠 유형: 이미지/jpeg");

++++++++++++++++++++++++++++++++++++++ ++ +++++++++++++++++++++

2단계: 너비: $arrimg[0], 길이: $arrimg [1] 및 필요한 것을 얻습니다 최종 이미지 크기는 비율에 따라 계산됩니다

여기서 얻을 이미지의 크기를 임시로 다음과 같이 설정합니다: $newheight $newwidth

+++++++++++++++++ +++++ ++++++++++++++++++++++++++++++++++++

3단계: $thumb = imagecreatetruecolor ($newwidth, $newheight);

설명: imagecreatetruecolor()는 $newwidth 및 $newheight

+++++++++++++++++++ 크기의 검은색 이미지를 나타내는 이미지 식별자를 반환합니다. ++++++++++++++++++++++++++++++++++++

4단계: $source = imagecreatefromjpeg($ url);

설명: imagecreatefromjpeg()는 주어진 파일 이름


++++++++++++++++++ ++++++에서 얻은 이미지를 나타내는 이미지 식별자를 반환합니다. +++++++++++++++++++++++++++++

5단계: ImageCopyResampled($thumb,$source ,0,0,0,0, $newwidth,$newheight,$arrimg[0],$arrimg[1]);

imagecopyresampled -- 이미지의 복사 부분을 다시 샘플링하고 크기를 조정합니다.

++++++++++++++

6단계:

유형을 결정한 후 저장하세요

switch($arrimg[2]){
//支持jpg
case  2:
imagejpeg($thumb,'test.jpg');
break;
//支持png
case 3:
imagejpeg($thumb,'test.jpg');
break;
default:
echo "<script>alert(&#39;带开发其他类型&#39;);</script>";
break;
}
로그인 후 복사

관련 권장 사항:

php를 사용하여 원격 이미지 획득 효율적인 방법 의 크기와 크기

php 이미지 처리 이미지 배경, 캔버스 작업

php 이미지 생성을 위한 GD 라이브러리의 여러 기능 요약

위 내용은 PHP 처리 이미지 크기 공유 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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