Heim >php教程 >php手册 >纯PHP生成的一个树叶图片画图例子

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

WBOY
WBOYOriginal
2016-06-13 09:37:501277Durchsuche

效果:

 

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

?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn