纯PHP生成的一个树叶图片画图例子


Posted in PHP onApril 16, 2014

效果:

 

提示:保存到PHP文件然后在浏览器中打后即可看到和效果图一样的一张图片。

<?php
$im=imagecreate(670,500); 
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF); 
$g = imagecolorallocate($im, 0x00, 0x00, 0x00); 
define("PII",M_PI/180); 
function drawLeaf($g,$x,$y,$L,$a){ 
        global $im; 
        $B = 50; 
        $C =9; 
        $s1 = 2; 
        $s2 = 3 ; 
        $s3 = 1.2; 
        if($L > $s1) 
        { 
            $x2 = $x + $L * cos($a * PII); 
            $y2 = $y + $L * sin($a * PII); 
            $x2R = $x2 + $L / $s2 * cos(($a + $B) * PII); 
            $y2R = $y2 + $L / $s2 * sin(($a + $B) * PII); 
            $x2L = $x2 +$L / $s2 * cos(($a - $B) * PII); 
            $y2L = $y2 + $L / $s2 * sin(($a - $B) * PII); 
            $x1 = $x + $L / $s2 * cos($a * PII); 
            $y1 = $y + $L / $s2 * sin($a * PII); 
            $x1L = $x1 + $L / $s2 * cos(($a - $B) * PII); 
            $y1L = $y1 + $L / $s2 * sin(($a - $B) * PII); 
            $x1R = $x1 + $L / $s2 * cos(($a + $B) * PII); 
            $y1R = $y1 + $L / $s2 * sin(($a + $B) * PII); 
            ImageLine($im,(int)$x,  (int)$y,  (int)$x2,  (int)$y2,  $g); 
            ImageLine($im,(int)$x2, (int)$y2, (int)$x2R, (int)$y2R, $g); 
            ImageLine($im,(int)$x2, (int)$y2, (int)$x2L, (int)$y2L, $g); 
            ImageLine($im,(int)$x1, (int)$y1, (int)$x1L, (int)$y1L, $g); 
            ImageLine($im,(int)$x1, (int)$y1, (int)$x1R, (int)$y1R, $g); 
            drawLeaf($g, $x2,  $y2,  $L / $s3, $a + $C); 
            drawLeaf($g, $x2R, $y2R, $L / $s2, $a + $B); 
            drawLeaf($g, $x2L, $y2L, $L / $s2, $a - $B); 
            drawLeaf($g, $x1L, $y1L, $L / $s2, $a - $B); 
            drawLeaf($g, $x1R, $y1R, $L / $s2, $a + $B); 
           } 
} 
drawLeaf($g,300,500,100,270); 
header("Content-type: image/png"); 
imagepng($im);
?>
PHP 相关文章推荐
WML,Apache,和 PHP 的介绍
Oct 09 PHP
php Undefined index的问题
Jun 01 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
Drupal读取Excel并导入数据库实例
Mar 02 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
php中删除、清空session的方式总结
Oct 09 PHP
php中str_pad()函数用法分析
Mar 28 PHP
Yii2选项卡的简单使用
May 26 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
Jun 06 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
thinkphp诸多限制条件下如何getshell详解
Dec 09 PHP
通过dbi使用perl连接mysql数据库的方法
Apr 16 #PHP
php sybase_fetch_array使用方法
Apr 15 #PHP
强制PHP命令行脚本单进程运行的方法
Apr 15 #PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 #PHP
php获取mysql字段名称和其它信息的例子
Apr 14 #PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 #PHP
PHP删除数组中空值的方法介绍
Apr 14 #PHP
You might like
php广告加载类用法实例
2014/09/23 PHP
yii使用bootstrap分页样式的实例
2017/01/17 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
2013/04/02 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
python正则表达式的使用
2017/06/12 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
pygame实现成语填空游戏
2019/10/29 Python
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
火锅店营销方案
2014/02/26 职场文书
文员岗位职责范本
2014/03/08 职场文书
世界读书日的活动方案
2014/08/20 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
高一英语教学反思
2016/03/03 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL