>  기사  >  백엔드 개발  >  PHP 캔버스에 대한 자세한 설명

PHP 캔버스에 대한 자세한 설명

小云云
小云云원래의
2018-03-27 15:48:365271검색

이 글은 주로 PHP의 캔버스와 PHP의 이미지 처리 기술인 GD에 대한 자세한 설명을 공유합니다.

새 캔버스 생성--리소스 데이터(이미지 리소스 작동 가능)

ImageCreate(캔버스 너비, 캔버스 높이); 팔레트를 기반으로 캔버스를 생성합니다.

                                                          ImageCreateTrueColor(캔버스 너비, 캔버스 높이);

이미지를 기반으로 캔버스 만들기

            ImageCreateFromFPG(이미지 주소),        ImageCreateFromPNG(이미지 주소)

캔버스 조작

​​​​​​​​​​​​​​​​​​ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​색상은 지정되어야 합니다 먼저 캔버스에. + ~ ''''s'''''s's 상승's     's                     방식''''''' 도해' 도해' 설명' my my my my I I I I I--''''''''' 위치 y, 색상 식별); 채울 때 채우기 포인트와 동일한 색상을 갖는 연속적인 포인트를 채웁니다. ​​​글꼴은 내장된 글꼴이며 크기는 1부터 5까지입니다.

문자 색상은 이전 색상을 할당할 때 쓰는 변수입니다.布 열린 캔버스의 크기:

ImagesX(캔버스 리소스)를 얻습니다.

                        ImageSY(캔버스 리소스); 캔버스 높이를 가져옵니다.

                     내장 글꼴의 크기를 확인하세요.

                                               

                           ImageFontHeight(글꼴 번호);

캔버스 출력


1. 이미지 파일로 출력합니다.



2. 페이지에 직접 출력합니다.


ImagePNG(캔버스 리소스 [, 파일 주소])



ImageJPEG(캔버스 리소스 [, 파일 주소]);


ImageGIF(캔버스 리소스 [, 파일 주소])


예: 인증 코드


<?php
header(&#39;Content-Type:image/jpg&#39;);
$chars=&#39;ABCDEFGHIJKLMNPQRSTUVWXYZ123456789&#39;;
$chars_length=strlen($chars);
$code_length=4;
$code=&#39;&#39;;
for($i=0;$i<$code_length;$i++){
	$rand_index=mt_rand(0,$chars_length-1);
	$code.=$chars[$rand_index];
}

//存储于session,用于验证。
session_start();
$_SESSION[&#39;captcha_code&#39;]=$code;


//背景图。
$bg_file=&#39;./captcha/captcha_bg&#39;.mt_rand(1,5).&#39;.jpg&#39;;
$img=ImageCreateFromJPEG($bg_file);
//随机分发颜色
$chars_color=mt_rand(1,2)==1?imagecolorallocate($img,0,0,0):imagecolorallocate($img,255,255,255);
//将字符串写到画布上。
$img_width=ImageSX($img);
$img_height=ImageSY($img);
$font_width=ImageFontWidth(5)*4;
$font_height=ImageFontHeight(5);
$code_width=($img_width-$font_width)/2;
$code_height=($img_height-$font_height)/2;
ImageString($img,5,$code_width,$code_height,$code,$chars_color);
ImageJPEG($img);

위 내용은 PHP 캔버스에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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