PHP可不可以拿來畫幾何圖案?20點大放送!!!

如題,PHP可不可以拿來畫直線、拋物線、雙曲線、正方形、長方形、圓形、橢圓形、三角形、五邊形、六邊形、八邊形、菱型和梯形等幾何圖案?如可以的話要如何做?

Update:

不用會這麼多沒關係,會多少就寫多少,1、2個也可以,另外我是學PHP5,所以如果是用PHP4語法就免了,另外,我PHP的書剛看完陣列正在看函數的部份,所以就算你寫的出來我也看不懂,所以每一條程式碼都要加註解,方便我以後參考。

Update 2:

不行耶!它顯示Fatal error: Call to undefined function imagecreate() in D:\Program Files\Dev-PHP\~out.php on line 13 ,我是用Appserv 2.5.4a PHP5.1.1,用Dev PHP當編輯工具。

Update 3:

好奇怪喔,我用Dev PHP編輯後按右上方的執行鈕顯示錯誤訊息,但是如果用記事本編輯不管是上傳到學校的伺服器還是複製檔案到我自己電腦上的資料夾都能正常執行。

2 Answers

Rating
  • 2light
    Lv 4
    2 decades ago
    Favorite Answer

    哇! 可以是可以, 但如給例子, 總不能讓人給你畫這麼多圖, 你是否少幾個, 直線, 橢圓, 三角形? 其他你自己類推, 這樣比較好答!

    2006-05-01 17:20:23 補充:

    可是依據 www.php.net 的說明, php4, php5 畫圖語法, 沒什差別啊?

    就以畫橢圓為例: 引自參考資料, www.php.net

    imagearc

    (PHP 3, PHP 4 , PHP 5)   <==都適用啊!

    imagearc -- Draw a partial ellipse

    Description

    int imagearc ( resource image, int cx, int cy, int w, int h, int s, int e, int color )

    imagearc() draws a partial ellipse centered at cx, cy (top left is 0, 0) in the image represented by image. W and h specifies the ellipse's width and height respectively while the start and end points are specified in degrees indicated by the s and e arguments. 0° is located at the three-o'clock position, and the arc is drawn clockwise.

    範例 1. Drawing a circle with imagearc()

    <?php

    // create a 200*200 image

    $img = imagecreate(200, 200);

    // allocate some colors

    $white = imagecolorallocate($img, 255, 255, 255);

    $black = imagecolorallocate($img, 0, 0, 0);

    // draw a black circle

    imagearc($img, 100, 100, 150, 150, 0, 360, $black);

    // output image in the browser

    header("Content-type: image/png");

    imagepng($img);

    // free memory

    imagedestroy($img);

    ?>

    *ps* 因為超過字數, 不得不用 "回答問題"

    2006-05-01 18:06:32 補充:

    這個範例是劃一整個橢圓, 也是引自 www.php.net, 我加上中文說明mageellipse (PHP 4 >= 4.0.6, PHP 5)int imageellipse ( resource image, int cx, int cy, int w, int h, int color )這個函式, 以(cx, cy)為中心, 寬w, 高h, 顏色color, 畫橢圓, 篇幅所限, 不引說明.

    2006-05-01 18:09:41 補充:

    <?php// 建立圖稿, $image, 大小 400x300$image = imagecreate(400, 300);// 這函式第一次呼叫, 固定是用來, "指定背景顏色".$bg = imagecolorallocate($image, 0, 0, 0);// 指定 $col_ellipse 顏色為 "白色", 等會用這顏色畫橢圓.$col_ellipse = imagecolorallocate($image, 255, 255, 255);

    2006-05-01 18:10:30 補充:

    // 以(200,150)為中心, 寬300, 高200, 在圖稿$image, 畫橢圓imageellipse($image, 200, 150, 300, 200, $col_ellipse);// 將以上畫好的圖稿 $image, 輸出顯示header("Content-type: image/png");imagepng($image);?>

    2006-05-02 09:53:09 補充:

    對啊! 貼得有夠辛苦...

    2006-05-03 19:56:39 補充:

    因為這些函數, "有可能"放在額外的函式庫, GD-Library, 有可能你的DevPHP, 並沒有預設載入這些函式庫. 在 Windows 平台, 可能得載入 php_gd2.dll

  • 2 decades ago

    http://tw2.php.net/manual/en/ref.image.php

    族繁不及備載

    有些幾何圖形有現成的函數可以用

    遇到沒有現成函數

    把他想像成座標圖

    每個圖像都是無數的點合成的

    用GD去把每一點都點出來

    2006-05-02 00:33:09 補充:

    寫完所有範例就超過字數限制了

    還有

    函數繼續看下去你就會了

Still have questions? Get your answers by asking now.