> 백엔드 개발 > PHP 문제 > PHP에서 이미지를 생성하는 특정 단계

PHP에서 이미지를 생성하는 특정 단계

藏色散人
풀어 주다: 2023-03-11 07:14:02
원래의
3105명이 탐색했습니다.

PHP에서 이미지를 만드는 구체적인 단계: 1. 헤더를 설정하고 브라우저에 생성할 MIME 유형을 지정합니다. 2. 캔버스를 만듭니다. 3. 색상을 채웁니다. 5. 그래픽과 텍스트를 그립니다. 6. 이미지를 출력합니다. 7. 이미지를 삭제합니다.

PHP에서 이미지를 생성하는 특정 단계

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP 이미지 생성을 위한 구체적인 단계

1. 헤더를 설정하고 브라우저 생성하려는 MIME 유형에는 세 가지 유형이 있습니다.


header('content-type:image/png')
  • header( 'content-type: image/gif');
  • header( ' content -type: image/jpeg' );
  • <?php header("content-type: image/png");
    로그인 후 복사
  • 2. 캔버스를 만듭니다. 모든 후속 작업은 이 캔버스 영역을 기반으로 합니다.

resource imagecreatetruecolor( int $width , int $height )

새로운 트루 컬러를 만듭니다. image Return 너비와 높이의 검은색 이미지를 나타내는 이미지 식별자입니다. 반환 값: 성공하면 이미지 리소스를 반환하고, 실패하면 FALSE를 반환합니다.

$width = 200;
$height = 100;
$img = imagecreatetruecolor($width,$height);
로그인 후 복사

3. 색상 관리

**int imagecolorallocate (resource $image , int $red , int $green , int $blue )**이미지에 색상 할당

red , green 및 blue 는 각각 빨간색의 필수 색상입니다. , 녹색 및 파란색 구성 요소. 이러한 매개변수는 0~255의 정수 또는 16진수 0x00~0xFF

$color = imagecolorallocate($img,0xcc,0xcc,0xcc); // 灰色
로그인 후 복사

4입니다. 채우기 색상

bool imagefill(resource $image, int $x, int $y, int $color)

image image 좌표 x 및 y(이미지의 왼쪽 상단이 0, 0)가 색상으로 채워집니다(즉, x 및 y 포인트와 동일한 색상의 포인트와 인접한 포인트가 채워집니다).

imagefill($img,0,0,$color);
로그인 후 복사

5. 그래픽과 텍스트를 그립니다

    imagesetpixel()
  1. 이미지의 색상을 사용하여 x 및 y 좌표에 점을 그립니다(이미지의 왼쪽 상단은 0, 0입니다). bool imagesetpixel (resource $image , int $x , int $y , int $color )
    예: 캔버스에 무작위로 100개의 점을 그립니다.
    for ($i= 0; $i < 100; $i++) { 
    	$color = imagecolorallocate($img,rand(0,25), rand(0,255), rand(0,255));
    	$x = rand(0,$width);
    	$y = rand(0,$height);
    	imagesetpixel($img, $x, $y, $color);
    }
    로그인 후 복사

imageline()
    이미지에 색상 color 사용 이미지 그리기 좌표 x1, y1에서 x2, y2까지의 선분
  1. (이미지의 왼쪽 상단은 0, 0입니다) . bool imageline (resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )
    예: 캔버스에 무작위로 10개의 선분을 그립니다
    for ($i= 0; $i < 10; $i++) { 
    	$color = imagecolorallocate($img,rand(0,25), rand(0,255), rand(0,255));
    	$x = rand(0,$width);
    	$y = rand(0,$height);
    	$x1 = rand(0,$width);
    	$y1 = rand(0,$height);
    	imageline($img, $x, $y, $x1, $y1,$color);
    }
    로그인 후 복사

imagelectangle()
    열 색상을 사용하여 이미지에 직사각형
  1. 을 그립니다. 왼쪽 위 모서리의 좌표는 x1, y1이고 오른쪽 아래 모서리의 좌표는 x2, y2입니다. 이미지의 왼쪽 상단 모서리에는 0, 0 좌표가 있습니다. bool imageRectangle (resource $image , intbool imageRectangle (resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $col )

imagefilled직사각형()

이미지 이미지 왼쪽 위 모서리 좌표가 x1, y1이고 오른쪽 아래 모서리 좌표가 x2, y2인 색상으로 채워진 직사각형
    을 그립니다. , int $y2 , int $color )
  1. 텍스트 그리기
  2. array imagettftext ( 리소스 $image , float $size , float $anglearray imagettftext ( 리소스 $image , float $size, float $angle, int $x, int $y, int $color, string $fontfile, string $text)

크기: 글꼴 크기는 GD 버전에 따라 픽셀 크기(GD1) 또는 포인트(points) 크기(GD2)입니다. 각도: 0도는 텍스트가 왼쪽에서 오른쪽으로 읽히는 것을 의미합니다. 예를 들어 90도는 텍스트가 아래에서 위로 읽히는 것을 의미합니다. 표시된 좌표는 첫 번째 문자의 기준점(아마도 문자의 왼쪽 아래 모서리)을 정의합니다. : 색상 색인 글꼴 파일: 사용하려는 TrueType 글꼴의 경로입니다(Windows의 내 컴퓨터 C 드라이브. 글꼴 폴더)

텍스트: UTF-8로 인코딩된 텍스트 문자열
  1. $color = imagecolorallocate($img,154, 75, 65));
    $font = "simsunb.ttf";
    $str = "hello , how are you?";
    imagettftext($img, 30, 45, $x, $y, $color, $font, $str);
    로그인 후 복사

    6. 출력 이미지 3개. 방법:


    bool imagepng (resource $image [, string $filename ] )
    PNG 형식의 GD 이미지 스트림(이미지)을 표준 출력(일반적으로 브라우저)으로 출력하거나 파일 이름이 지정된 경우 파일로 출력합니다.

    bool imagegif ( 리소스 $image [, string $ filename ] )
bool imagejpeg ( 리소스 $image [, string $filename [, int

$quality ]])

imagepng($img);
로그인 후 복사

7. 이미지를 삭제합니다

  • bool imagedestroy ( 리소스 $image )
  • 연관된 이미지를 공개합니다. Memory
  • imagedestroy($img);
    로그인 후 복사

      推荐学习:《PHP视频教程

위 내용은 PHP에서 이미지를 생성하는 특정 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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