zoukankan      html  css  js  c++  java
  • PHP学习笔记(3)GD库画图

     1 <?php
     2     //加header头,不然浏览器乱码
     3     header("content-type: image/png");
     4     //创建画布资源
     5    $img = imagecreatetruecolor(500, 500);
     6    //创建颜色
     7    $green = imagecolorallocate($img, 0, 255, 0);
     8    //画椭圆
     9    imagefilledellipse($img, 200, 200, 100, 100, $green);
    10    //输出画布图像
    11    imagepng($img);
    12 ?>

     php也能画图,但是好像用的不多,HTML5里的canvas跟这个原理差不多,但是用的人应该比PHP多。不知道PHP画图现在还有没有人用,只能用来画验证码了吗?

    --------------------------------------------------------------------------------------------------------------------------------------------------

     1 <?php
     2     //加header头,不然浏览器乱码
     3     header("content-type: image/png");
     4     //创建画布资源
     5    $img = imagecreatetruecolor(500, 500);
     6    //创建颜色
     7    $green = imagecolorallocate($img, 0, 255, 0);
     8    //画椭圆
     9    imagefilledellipse($img, 200, 200, 100, 100, $green);
    10    //画多边形,points是顶点坐标数组,num_points是顶点个数,妈蛋这个画不出来五角星,只能拼出来。还不如用直线画
    11    $points = array(200,0,0,100,100,400,300,400,400,100);
    12    imagepolygon($img, $points, 5, $green);
    13    //输出画布图像
    14    imagepng($img);
    15 ?>

     --------------------------------------------------------------------------------------------------------------------------------------------------

     

     1 <?php
     2     //加header头,不然浏览器乱码
     3     header("content-type: image/png");
     4     //创建画布资源
     5    $img = imagecreatetruecolor(500, 500);
     6    //创建颜色
     7    $green = imagecolorallocate($img, 0, 255, 0);
     8    //画椭圆
     9    // imagefilledellipse($img, 200, 200, 100, 100, $green);
    10    $r = 100;//半径
    11    $degree18 = deg2rad(18);//直角三角形18度,改成弧度,一定是这里公式出了问题!
    12    $a = $r*cos($degree18);//长边长度
    13    $b = $r - $r*sin($degree18);//短边长度
    14    //五个顶点坐标
    15    $px1 = 200;
    16    $py1 = 200;
    17    $px2 = $px1+$a;
    18    $py2 = $py1+$b;
    19    $px3 = $px1+$b;
    20    $py3 = $py1+$r+$a;
    21    $px4 = $px1-$b;
    22    $py4 = $py1+$r+$a;
    23    $px5 = $px1-$a;
    24    $py5 = $py1+$b;
    25     //画多边形,points是顶点坐标数组,num_points是顶点个数,妈蛋这个画不出来五角星,只能拼出来。还不如用直线画
    26    $points = array($px1,$py1,$px2,$py2,$px3,$py3,$px4,$py4,$px5,$py5);
    27    // imagepolygon($img, $points, 5, $green);
    28    //画五条线
    29    imageline($img, $px1, $py1, $px3, $py3, $green);
    30    imageline($img, $px1, $py1, $px4, $py4, $green);
    31    imageline($img, $px2, $py2, $px4, $py4, $green);
    32    imageline($img, $px2, $py2, $px5, $py5, $green);
    33    imageline($img, $px3, $py3, $px5, $py5, $green);
    34 
    35    //输出画布图像,怎么腿这么胖!!
    36     imagepng($img);
    37    
    38 ?>

    --------------------------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    【学习总结】SQL学习总结之SQL语法
    【学习总结】SQL学习总结之认识SQL
    【JAVA】JAVA8-String.join字符串拼接
    【JAVA】Scanner.next()与Scanner.nextLine()的区别
    【JAVA】java中split以"." 、""、“|”分隔字符串
    【问题解决方案】apple music取消订阅
    【问题解决方案】MacBook Pro那些坑
    【JAVA】Java循环语句中的continue跳转进入下一次循环是否判断循环条件
    【问题解决方案】Markdown中部分字符显示为格式因而得不到预期结果的问题解决
    【JAVA】哈希表HashMap中java8新增功能概述
  • 原文地址:https://www.cnblogs.com/Jacklovely/p/6043566.html
Copyright © 2011-2022 走看看