由於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>