> 백엔드 개발 > PHP 튜토리얼 > PHP 이미지 처리 이미지 배경, 캔버스 작업_php 스킬

PHP 이미지 처리 이미지 배경, 캔버스 작업_php 스킬

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-05-16 20:30:59
원래의
1408명이 탐색했습니다.

예를 들어, 인증 코드나 동적 데이터를 기반으로 한 통계 아이콘 생성, 앞서 소개한 일부 GD 라이브러리 작업은 모두 동적으로 그려진 이미지입니다. 웹 개발에서는 서버에 이미 존재하는 이미지를 처리하는 경우가 많습니다. 예를 들어 특정 요구 사항에 따라 이미지 크기 조정, 워터마킹, 자르기, 뒤집기, 회전 등의 이미지 수정 작업을 수행할 수 있습니다. 웹 애플리케이션에서 일반적으로 사용되는 이미지 형식은 GIF, JPEG, PNG 중 하나 이상입니다. 물론 GD 라이브러리는 다른 형식의 이미지도 처리할 수 있지만 거의 사용되지 않습니다. 따라서 GD 라이브러리를 설치할 때 GIF, JPEG, PNG 세 가지 형식 중 하나 이상을 설치해야 합니다.

앞서 소개한 캔버스 관리에서는 imagecreate()와 imageCreateTrueColor() 두 함수를 사용하여 캔버스 리소스를 생성합니다. 하지만 기존 그림을 처리해야 하는 경우에는 이 그림을 캔버스 리소스로 사용하기만 하면 됩니다. 이를 그림 배경 만들기라고 합니다. 아래에 소개된 여러 함수를 사용하여 서버나 네트워크 파일에 이미 존재하는 GIF, JPEG 및 PNG 이미지를 열고, 해당 파일 이름에서 얻은 이미지를 작업의 배경 리소스로 나타내는 이미지 식별자를 반환할 수 있습니다. 프로토타입은 모두 빈 문자열을 반환하고 실패할 경우 오류 메시지를 출력합니다.

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

리소스 imagecreatefromjpeg(string $filename) //JPEG 파일 또는 URL에서 새 이미지 만들기
리소스 imagecreatefrompng(string $filename) //PNG 파일 또는 URL에서 새 이미지 만들기
리소스 imagecreatefromgif(string $filename) //GIF 파일 또는 URL에서 새 이미지 만들기

이미지 리소스를 생성하기 위해 어떤 함수를 사용하든 사용 후에는 imagedestroy() 함수를 사용하여 파기해야 합니다. 그런 다음 이미지 형식 대응 문제가 있습니다. 어떤 방식으로든 열린 이미지 리소스는 동일한 형식으로 저장될 수 있습니다. 예를 들어, imagecreatefromjpeg() 함수를 사용하여 생성된 이미지 리소스의 경우 imagepng() 함수를 사용하여 이미지를 PNG 형식의 브라우저나 파일에 출력할 수 있습니다. 물론, 여는 형식에 따라 해당 형식으로 이미지를 저장하는 것이 가장 좋습니다. 이를 위해서는 먼저 getimagesize() 함수도 알아야 합니다. 이미지 이름을 통해 이미지의 유형, 너비 및 높이를 얻을 수 있습니다. 이 함수의 프로토타입은 다음과 같습니다.

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

array getimagesize(string filename[,array &imageinfo]) //이미지의 크기와 유형을 가져옵니다

filename으로 지정된 이미지에 액세스할 수 없거나 유효한 이미지가 아닌 경우 이 함수는 FALSE를 반환하고 E_WARNING 수준 오류를 생성합니다. 오류가 발생하지 않으면 getimagesize()는 4개의 셀이 있는 배열을 반환하고, 인덱스 0은 이미지 너비의 픽셀 값을 포함하고, 인덱스 1은 이미지 높이의 인덱스 값을 포함하며, 인덱스 2는 이미지 유형의 태그입니다. 1= GIF, 2=JPG, 3=PNG, 4=SWF 등. 인덱스 3은 콘텐츠가 "height="yyy" width="xxx""인 텍스트 문자열로, . 아래와 같이:

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

list($width,$height,$type,$attr) = getimagesize("image/brophp.jpg");
echo "";
?>

다음 예제에서는 GIF, JPG, PNG 중 어떤 형식의 사진이든 열어서 사진 중간에 문자열을 추가하고 원본 형식(텍스트 워터마크)으로 저장할 수 있는 image() 함수를 선언합니다. 향후 개발에서 동일한 작업이 필요한 경우(그림의 어떤 형식이 열리든 해당 형식의 파일로도 저장됨) 이 예제의 모드에 참여할 수 있으며 코드는 다음과 같습니다.

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

//다른 형식의 사진 중간에 문자열(텍스트 워터마크도 포함)을 그립니다.
함수 이미지($filename,$string){
​​​​ //이미지 속성, 첫 번째 너비, 두 번째 높이를 가져옵니다. 1=>gif, 2=>jpeg, 3=>png
를 입력하세요. 목록($width,$height,$type) = getimagesize($filename);
             // 처리할 수 있는 이미지 유형
          $types = array(1=>"gif",2=>"jpeg",3=>"png",);
​​​​ //이미지 유형을 결합하여 이미지 형식에 해당하는 GD 라이브러리 기능을 생성하고 이미지 리소스를 생성할 수 있습니다
         $createfrom = "imagecreatefrom".$types[$type];
​​​​ //"변수 함수"를 이용하여 해당 함수를 생성하여 이미지 리소스 생성
         $image = $createfrom($filename);
​​​​ //가운데 글꼴의 X축 좌표 위치 설정
          $x = ($width-imagefontwidth(5)*strlen($string))/2;
​​​​ //가운데 폰트의 Y축 좌표 위치 설정
          $y = ($height-imagefontheight(5))/2;
​​​​ //글꼴 색상을 빨간색으로 설정
$textcolor = imagecolorallocate($image, 255, 0, 0);
​​​​ //지정된 문자열을 그림에 그립니다
Imagestring($image, 5, $x, $y, $string, $textcolor);
​​​​ //그림 종류를 이용하여 해당 형식의 그림 기능을 조합하여 저장합니다
         $output = "image".$types[$type];
             //가변 기능을 사용하여 해당 형식으로 사진을 저장합니다
          $output($image,$filename);
이미지 파괴($image);
}
Image("brophp.gif","GIF");
Image("brophp.jpg", "JPEG");
Image("brophp.png", "PNG");
?>
관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿