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

 更新时间:2014年04月16日 11:25:06   作者:  
这篇文章主要介绍了纯PHP生成的一个树叶图片画图例子,希望可以带给使用PHP进行图像编程的朋友一些帮助。

效果:

 

提示:保存到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);

?>

相关文章

  • 关于Laravel参数验证的一些疑与惑

    关于Laravel参数验证的一些疑与惑

    这篇文章主要给大家介绍了关于Laravel参数验证的一些疑与惑,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • yii实现使用CUploadedFile上传文件的方法

    yii实现使用CUploadedFile上传文件的方法

    这篇文章主要介绍了yii实现使用CUploadedFile上传文件的方法,结合具体的前端与后端处理代码实例分析了CUploadedFile类的使用方法,需要的朋友可以参考下
    2015-12-12
  • php5.3 goto函数介绍和示例

    php5.3 goto函数介绍和示例

    goto操作符可以用来跳转到程序中的某一指定位置。该目标位置可以用目标名称 加上冒号来标记。
    2014-03-03
  • thinkphp5上传图片及生成缩略图公共方法(分享)

    thinkphp5上传图片及生成缩略图公共方法(分享)

    下面小编就为大家分享一篇thinkphp5上传图片及生成缩略图公共方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • laravel-admin利用ModelTree实现对分类信息的管理

    laravel-admin利用ModelTree实现对分类信息的管理

    这篇文章主要介绍了laravel-admin利用ModelTree实现对分类信息的管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • php简单的留言板与回复功能具体实现

    php简单的留言板与回复功能具体实现

    留言板是在刚接触php时用来学习的一个简单的应用例子了,今天我再给初学php的朋友提供一个完整的php留言板的全部制作过程,希望对你会有帮助
    2014-02-02
  • php a simple smtp class

    php a simple smtp class

    php a simple smtp class...
    2007-11-11
  • Symfony数据校验方法实例分析

    Symfony数据校验方法实例分析

    这篇文章主要介绍了Symfony数据校验方法,实例分析了Symfony数据校验的常见技巧与注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • 一个PHP并发访问实例代码

    一个PHP并发访问实例代码

    php其实也可以执行多任务或并发访问,下面就是网上找来的一个关于PHP并发访问的例子
    2012-09-09
  • 实例分析PHP中PHPMailer发邮件

    实例分析PHP中PHPMailer发邮件

    本篇文章通过QQ邮箱为例给大家讲解了PHPMaIiler的使用方法和技巧,跟着小编学习下吧。
    2017-12-12

最新评论