PHP 그리기 기술 예제 설명

小云云
풀어 주다: 2023-03-20 16:28:01
원래의
3306명이 탐색했습니다.

벡터 그림(인증 코드)을 배우고 보고서를 그리고 생성하세요. 이 기사가 모든 사람에게 도움이 되기를 바랍니다.

단계

创建画布
会只需要的各种图形(圆,直线,矩形,弧线,扇形)
输出图像到网页,也可以另存
销毁图片(释放内存)
로그인 후 복사

사진 형식

gif 图片压缩率高,
但是只能显示256色可能造成颜色丢失,但可以显示动画

jpg/jpeg 图片的压缩率高,可以用较小的文件来显示
网页上用的比较多

png,高仿真
综合了gif和jpg的优势,但是不能显示动画
로그인 후 복사

빠른 시작

创建画布$img = imagecreatetruecolor(100,100);

取色$red = imagecolorallocate($img, 255, 0, 0);

画图
•imagefilledarc — 画一椭圆弧且填充
•imagefilledellipse — 画一椭圆并填充
•imagefilledpolygon — 画一多边形并填充
•imagefilledrectangle — 画一矩形并填充

输出到浏览器header("content-type: image/png");
imagepng($img);

销毁
imagedestroy($img);
로그인 후 복사

사진을 캔버스로

$srcImage = imagecreatefromgif(filename);$srcImage_info = getimagesize(filename);
imagecopy(dst_im, src_im, dst_x, dst_y, 
    src_x, src_y, src_w, src_h);
具体参数含义 不懂看文档
로그인 후 복사

쓰기

imagettftext(image, size, angle, x, y, 
    color, fontfile, text)
로그인 후 복사

인증 코드 생성

<?php    /**
    * Created by PhpStorm.
    * User: draymonder
    * Date: 2018/3/1
    * Time: 15:15
    */
    $checkcode ="";    for($i=0;$i<4;$i++){        $checkcode.= dechex(rand(0,15));
    }    $img = imagecreatetruecolor(200,30);    //背景颜色
    $bgcolor = imagecolorallocate($img,0,0,0);
    imagefill($img,0,0,$bgcolor);    //添加干扰线
    for($i=0;$i<10;$i++){        $color = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));
        imageline($img,rand(0,200),rand(0,30),rand(0,200),rand(0,30),$color);
    }    //白色,字体颜色
    $white = imagecolorallocate($img,255,255,255);    //添加字符串
    imagestring($img,rand(4,6),rand(0,180),rand(0,20),$checkcode,$white);
    header("content-type: image/png");
    imagepng($img);
    imagedestroy($img);
?>
로그인 후 복사

관련 권장 사항:

PHP 그리기 기술의 예

php 요약 드로잉 기술의 핵심 포인트와 활용법

PHP 드로잉 기술의 공통 기능을 정리

위 내용은 PHP 그리기 기술 예제 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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