日期:2010-11-04  浏览次数:20464 次


由于PHP的本色表参数只能支持256,为了能实现显示8色或更多的色带,我使用了参数传递的方法来实现。具体实现的代码如下:

1、生成色带图形的程序
transition.php
<?php
/*
*  功能:生成色带图形
*  程序员:wlxz
* 日期:2002-00-00
*/

Header("Content-type: image/Png");
$im = ImageCreate(255,50);
$bgcolor = ImageColorAllocate($im, 0, 0, 0);

$x = trim($_GET['x']);
$y = trim($_GET['y']);
$z = trim($_GET['z']);

    for($i=0;$i<255;$i++){
        $fontcol = ImageColorAllocate($im, $i*$x, $i*$y, $i*$z);
        ImageLine($im, $i, 0, $i, 50, $fontcol);
    }

ImagePng($im);
ImageDestroy($im);
?>

2、调用生成多个不同的图形
view_color.php
<?php
/*
*  功能:
*  程序员:向黎
* 日期:2002-00-00
*/
?>
<html>
<head>
<title>  </title>
<meta name="Author" content="XIANG Li">
</head>

<body>
<table>
<tr>
    <td><!--色带1-->
    <input type="image" src="./transition.php?x=0&y=0&z=0">
    </td>
</tr>
<tr>
    <td><!--色带2-->
    <input type="image" src="./transition.php?x=0&y=0&z=1">
    </td>
</tr>
<tr>
    <td><!--色带3-->
    <input type="image" src="./transition.php?x=0&y=1&z=0">
    </td>
</tr>
<tr>
    <td><!--色带4-->
    <input type="image" src="./transition.php?x=0&y=1&z=1">
    </td>
</tr>
<tr>
    <td><!--色带5-->
    <input type="image" src="./transition.php?x=1&y=0&z=0">
    </td>
</tr>
<tr>
    <td><!--色带6-->
    <input type="image" src="./transition.php?x=1&y=0&z=1">
    </td>
</tr>
<tr>
    <td><!--色带7-->
    <input type="image" src="./transition.php?x=1&y=1&z=0">
    </td>
</tr>
<tr>
    <td><!--色带8-->
    <input type="image" src="./transition.php?x=1&y=1&z=1">
    </td>
</tr>
</table>
</body>
</html>