백엔드 개발 PHP 튜토리얼 PHP의 GD 확장을 사용하는 방법은 무엇입니까?

PHP의 GD 확장을 사용하는 방법은 무엇입니까?

Jun 01, 2023 am 09:04 AM
php 사용 gd 확장

웹 개발에서는 이미지 썸네일 및 워터마크 만들기와 같은 일반적인 작업이 필요한 경우가 많습니다. 이러한 작업을 수행하려면 PHP를 사용하는 것이 매우 편리합니다. PHP의 GD 확장은 좋은 선택입니다. 이미지를 처리하는 몇 가지 편리한 방법을 제공합니다.

  1. GD 확장 설치

PHP에 GD 확장이 설치되어 있지 않으면 먼저 확장을 설치해야 합니다. Linux에서는 쉘 명령 sudo apt-get install php7.0-gd进行安装,Windows下可以在PHP配置文件php.ini中将extension=gd2을 사용하여 주석을 제거할 수 있습니다.

  1. 기본 이미지 만들기

이제 간단한 PNG 이미지를 만들어 보겠습니다. PHP의 imagecreate() 함수를 사용하여 기본 이미지를 생성할 수 있으며 너비와 높이를 지정할 수 있습니다.

$width = 200;
$height = 200; 
$image = imagecreate($width, $height);
로그인 후 복사

여기에서는 편의를 위해 200×200 PNG 이미지를 생성합니다.

header("Content-type: image/png"); 
imagepng($image, "test.png");
로그인 후 복사

이 이미지가 생성되면 test.png에서 찾을 수 있습니다. 이 단계는 다양한 요구에 맞는 기본 이미지를 만드는 데 사용할 수 있습니다.

  1. 텍스트 설정

사진에 텍스트를 써야 하는 경우가 많습니다. GD 확장 프로그램은 이 작업을 완료하기 위해 imagestring() 함수를 제공합니다.

$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
$fontFile = 'arial.ttf';
$fontSize = 20;
$text = 'Hello World!';
$x = 50;
$y = 150;

imagettftext($image, $fontSize, 0, $x, $y, $textColor, $fontFile, $text);
로그인 후 복사

여기서 배경색, 텍스트 색상, 글꼴 파일, 글꼴 크기를 설정합니다. , 텍스트 내용 및 위치, imagettftext() 함수를 사용하여 텍스트를 이미지에 렌더링합니다. imagettftext() 함수를 사용하려면 FreeType 라이브러리가 서버에 올바르게 설치되었는지 확인해야 합니다.

  1. 이미지 회전

이미지에 텍스트를 쓰는 것 외에도 때때로 이미지를 회전해야 합니다. GD 확장은 이 작업을 완료하기 위해 imagecopyrotate() 함수도 제공합니다.

$degrees = -45; 
$newImage = imagerotate($image, $degrees, 0);
imagepng($newImage, 'rotated.png');
로그인 후 복사

이 예에서는 , 원본 이미지가 45도 회전되고 마지막으로 새 PNG 파일 "rotated.png"가 생성됩니다. 회전 외에도 GD 확장을 사용하여 완료할 수 있는 다른 이미지 처리 작업이 많이 있습니다.

  1. 워터마크 추가

마지막으로 이미지에 워터마크를 추가해 보겠습니다. 이는 imagecopy() 함수를 사용하여 수행할 수 있습니다. 먼저 워터마크를 줄이고 불투명도를 설정할 수 있습니다.

$watermark = imagecreatefrompng('watermark.png');
$watermarkWidth = imagesx($watermark);
$watermarkHeight = imagesy($watermark);
$newWidth = $width / 2;
$newHeight = $height / 2;
$newWatermark = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($newWatermark, $watermark, 0, 0, 0, 0, $newWidth, $newHeight, $watermarkWidth, $watermarkHeight); 
imagecopymerge($image, $newWatermark, 0, 0, 0, 0, $newWidth, $newHeight, 50);
로그인 후 복사

여기서 워터마크 이미지를 만들고 크기를 절반으로 줄인 다음 imagecopymerge()를 통해 원본 이미지에 추가하고 불투명도를 50% 투명도로 설정합니다.

이런 식으로 우리는 GD 확장의 몇 가지 기본 사용법을 배웠습니다. 물론, GD 확장에는 다른 많은 기능이 있습니다. 필요한 경우 공식 문서로 이동하여 더 많은 사용법을 확인할 수 있습니다.

위 내용은 PHP의 GD 확장을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

CakePHP 날짜 및 시간

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

CakePHP 프로젝트 구성

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

CakePHP 파일 업로드

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

CakePHP 라우팅

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP 토론

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP 빠른 가이드

See all articles