« 83. 如何設計 hidden:隱藏欄位? | (回到Blog入口) | 85. 如何加上加上選擇顏色的功能? »

84. 如何設計一個簡單的畫線 CGI 程式?

jollen 發表於 October 27, 2006 10:08 PM

底下是一個很簡單的範例,配合 PHP 的繪圖函數群與 CGI 程式設計所製作的畫線程式。我們將利用表單輸入 2 組座標點,並且繪製一條直線。

首先是我們設計的表單:

<html>
<head> <title>畫線程式</title> </head>
<body>
<form method="GET" action="draw.php"> <p>X1:<input type="text" name="x1" size="3"><br> Y1:<input type="text" name="y1" size="3"></p> <p>X2:<input type="text" name="x2" size="3"><br> Y2:<input type="text" name="y2" size="3"></p> <p><input type="submit" value="畫線" name="B1"></p> </form>
</body>
</html>

php
圖: 畫線的 HTML 輸入表單

接下來則是我們畫線的 CGI 程式,請注意表單裡面我們到用了 hidden 輸入欄位的設計方式。底下是畫線的主程式 draw.php:

<?php
// 1.建立新影像 $im = imagecreate(500, 400);
// 2. 定義白色顏色的 RGB (背景顏色) $white = imagecolorallocate($im, 255, 255, 255);
// 3. 定義黑色的 RGB (線的顏色) $black = imagecolorallocate($im, 0, 0, 0);
// 4. 開始畫線 imageline($im, $x1, $y1, $x2, $y2, $black);
// 5. 做成 png 圖檔並輸出 imagejpeg($im, "draw.jpg");
// 6. 完成後將圖檔毀滅 imagedestroy($im);
?> <html> 已輸出至 <a href="draw.jpg">draw.jpg</a> </html>

由於版權問題,PHP 已經不再支援 GIF 格式的圖檔,所以這裡我們改用了 JPEG 格式的圖檔。接下來讓我們開始測試畫線的 CGI 程式。

輸入 (1, 1)-(35, 70) 的座標後,可以看到圖 3.8 的結果 (draw.jpg)。

php
圖: 畫線程式的輸出結果

--jollen

版權聲明

請參閱頁面底部的 CC 授權條款。此外,Jollen's PHP 專欄禁止引用、修改與轉貼,如果您想與朋友分享的話,我們只允許網站連結(hyperlink)的形式。

發表一個評論

(如果你此前從未在此 Blog 上發表過評論,則你的評論必須在 Blog 主人驗證後才能顯示,請你耐心等候。)

| Top | Jollen's Forum |
Jollen's PHP 專欄採用 Attribution-NonCommercial-NoDerivs 2.5 授權條款
Copyright(c) 2001-2007,2010 www.jollen.org