ホームページ  >  記事  >  バックエンド開発  >  PHP描画技術の例を解説

PHP描画技術の例を解説

小云云
小云云オリジナル
2018-03-02 09:03:323287ブラウズ

ベクター画像 (検証コード) を学習し、レポートを作成して生成します。この記事が皆さんのお役に立てれば幸いです。

手順

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

画像フォーマット

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。