由于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><>
<input type="image" src="./transition.php?x=0&y=0&z=0">
</td>
</tr>
<tr>
<td><>
<input type="image" src="./transition.php?x=0&y=0&z=1">
</td>
</tr>
<tr>
<td><>
<input type="image" src="./transition.php?x=0&y=1&z=0">
</td>
</tr>
<tr>
<td><>
<input type="image" src="./transition.php?x=0&y=1&z=1">
</td>
</tr>
<tr>
<td><>
<input type="image" src="./transition.php?x=1&y=0&z=0">
</td>
</tr>
<tr>
<td><>
<input type="image" src="./transition.php?x=1&y=0&z=1">
</td>
</tr>
<tr>
<td><>
<input type="image" src="./transition.php?x=1&y=1&z=0">
</td>
</tr>
<tr>
<td><>
<input type="image" src="./transition.php?x=1&y=1&z=1">
</td>
</tr>
</table>
</body>
</html>