纯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 相关文章推荐
用PHP控制用户的浏览器--ob*函数的使用说明
Mar 16 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 PHP
php获取百度收录、百度热词及百度快照的方法
Apr 02 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
Oct 13 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
Apr 21 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 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新手上路(六)
2006/10/09 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
js拖动div 当鼠标移动时整个div也相应的移动
2013/11/21 Javascript
javascript使用定时函数实现跳转到某个页面
2013/12/25 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
2020/05/15 Javascript
详解vue v-model
2020/08/31 Javascript
怎样使用Python脚本日志功能
2016/08/14 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
python斐波那契数列的计算方法
2018/09/27 Python
详解django2中关于时间处理策略
2019/03/06 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
政工例会汇报材料
2014/08/26 职场文书
起诉书范文
2015/05/20 职场文书
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript