PHP学习笔记(4)GD库画五角星
- <?php
- //加header头,不然浏览器乱码
- header("content-type: image/png");
- //创建画布资源
- $img = imagecreatetruecolor(500, 500);
- //创建颜色
- $green = imagecolorallocate($img, 0, 255, 0);
- //画椭圆
- // imagefilledellipse($img, 200, 200, 100, 100, $green);
- $r = 100;//半径
- $degree36 = deg2rad(36);//直角三角形18度,改成弧度
- $l = 2*$r*sin($degree36);
- $a = $l*cos($degree36);//长边1长度
- $b = $l*sin($degree36);//短边1长度
- $c = $l/2;//短边2长度
- $d = $r*cos($degree36);//长边2长度
- //五个顶点坐标
- $px1 = 200;
- $py1 = 200;
- $px2 = $px1+$a;
- $py2 = $py1+$b;
- $px3 = $px1+$c;
- $py3 = $py1+$r+$d;
- $px4 = $px1-$c;
- $py4 = $py1+$r+$d;
- $px5 = $px1-$a;
- $py5 = $py1+$b;
- //画多边形,points是顶点坐标数组,num_points是顶点个数,妈蛋这个画不出来五角星,只能拼出来。还不如用直线画
- $points = array($px1,$py1,$px2,$py2,$px3,$py3,$px4,$py4,$px5,$py5);
- // imagepolygon($img, $points, 5, $green);
- //画五条线
- imageline($img, $px1, $py1, $px3, $py3, $green);
- imageline($img, $px1, $py1, $px4, $py4, $green);
- imageline($img, $px2, $py2, $px4, $py4, $green);
- imageline($img, $px2, $py2, $px5, $py5, $green);
- imageline($img, $px3, $py3, $px5, $py5, $green);
- //输出画布图像,终于正常了!
- imagepng($img);
- ?>
PHP学习笔记(4)GD库画五角星的更多相关文章
- 一起学习PHP中GD库的使用(三)
上篇文章我们已经学习了一个 GD 库的应用,那就是非常常用的制作验证码的功能.不过在现实的业务开发中,这种简单的验证码已经使用得不多了,大家会制作出更加复杂的验证码来使用.毕竟现在的各种外挂软件已经能 ...
- 一起学习PHP中GD库的使用(二)
在日常的开发过程中,GD 库最常用的功能就是帮我们对图片进行一些处理,当然,除了处理已有的图片之外,它也可以直接来画图,就像我们最常见的图片验证码.今天的内容主要就是和画图有关,所以最后我们也会做一个 ...
- 一起学习PHP中GD库的使用(一)
又到了一个大家非常熟悉的库了,对于图像图形的处理来说,GD 库是 PHPer 们绕不过去的一道坎.从很早很早的 CMS 或者 Discuz 时代,各类开源软件在安装的时候就会明确地指出 GD 库是它们 ...
- php笔记之GD库图片创建/简单验证码
燕十八 公益PHP培训 课堂地址:YY频道88354001 学习社区:www.zixue.it php画图:比如说验证码,缩略图,加水印都要用到GD库,所以要开启gd2库,才能用 首先找到php.in ...
- CSS学习笔记一:css 画平面图形
最近在学习CSS,先从CSS画点平面图形入手,发现除了正方形.长方形此类比较简单,只要有长宽设置恰当即可,画圆要涉及radius,然后恢复到做界面的最讨厌的状态了,不断的修改设值,调整数据,所幸并不多 ...
- iOS学习笔记16-数据库SQLite
一.数据库 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等.离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式: 归档:NSKeyedArchiver 偏好设置:NSU ...
- PHP学习笔记(5)GD库画验证码
<?php header("content-type:image/png"); $width = 500; $height = 500; $img = imagecreate ...
- LearnOpenGL学习笔记(一)画个三角形
开始学习OpenGL,参考的是著名的LearnOpenGL这个网站,在这里做一些总结性的记录,只是方便自己日后查找或者记录自己的一些拓展思考,关于OpenGL的具体内容请移步: https://lea ...
- Direct2D 学习笔记(2)画刷 Brush
画刷的使用方法 需要包含的文件:<wincodec.h> 需要包含的库: "windowscodecs.lib" 资源网址: https://docs.micro ...
随机推荐
- Docker创建centos的LNMP镜像
前段时间重装了系统,今天刚好有时间,就用docker安装一个lnmp开发环境,下面是我的安装笔记. 1. 安装docker 这个就不说了,不会的可以看下我之前的文章<Docker介绍及安装> ...
- 【License】一张图该诉你各种License的含义?
一张图该诉你各种License的含义:
- linux ubuntu下abaqus-6.14安装破解完全指南
本人亲测可用 目录 安装前准备 安装过程 机器配置 腾讯云服务器 ubuntu server 16.10 1.首先要在服务器上安装gui及相关依赖 sudo apt-get install ubunt ...
- android工具类(2)NetWorkHelper 网络工具类
import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkIn ...
- ASP.NET MVC扩展之HtmlHelper辅助方法
什么是HtmlHelper辅助方法? 其实就是HtmlHelper类的扩展方法,如下所示: namespace System.Web.Mvc.Html { public static class Fo ...
- Python strings, 元组tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的
在python中,strings, 元组tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的对象. a = 1 def fun(a): a = 2 fun(a ...
- 算法笔记_083:蓝桥杯练习 合并石子(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数.求把所有石子 ...
- 禁止chrome自动更新
删除C:\Program Files (x86)\Google文件夹下面的updata文件夹
- tomcat禁用webdav
在tomcat的web.xml,以及自己项目的web.xml中,均需添加以下内容: <security-constraint> <web-resource-collection> ...
- hibernate 多对多双向关联
package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax.persistenc ...