Viewing file: line.php (1.98 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php //ข้อมูลที่ผ่านมาทาง query string จะถูกกำหนดเป็นตัวแปรแบบโกลบอลชื่อ $data header("Content-type: image/png"); //กำหนดเฮดเดอร์ $sumdata = array_sum($data); //หาผลรวมของข้อมูลทั้งหมด $img = ImageCreate(650, 200); //สร้างรูปขนาด 650x200 ImageColorAllocate($img, 255, 255, 255); //กำหนดพื้นรูปเป็นสีขาว
//กำหนดสีที่ใช้ในการวาด $line = ImageColorAllocate($img ,0, 0, 0); // ImageColorAllocate($img ,325, 208, 210); $dataFill = ImageColorAllocate($img, 128, 200, 280); $black = ImageColorAllocate($img, 255,0, 0);
//สร้างเส้นตรงในแนวตั้ง ซึ่งเป็นเส้นที่ขนาบขอบด้านซ้ายของแผนภูมิแท่ง ImageLine($img, 50, 20, 50, 180, $line);
$bartick = 20; //ความหนาของแผนภูมิแท่งแต่ละอัน $barspace = 30; //ระยะห่างระหว่างแผนภูมิแท่งแต่ละอัน $barmax = 500; //ความยาวสูงสุดของแผนภูมิแท่ง $baseX = 50; //จุดเริ่มต้นในแนวนอนของแผนภูมิแท่ง $baseY = 30; //จุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง
//วนลูปเพื่อสร้างแผนภูมิแท่งทั้งห้า for ($i=1; $i<=3; $i++) { /* สร้างตัวแปรอาร์เรย์เก็บพิกัดของมุมต่างๆของแผนภูมิแท่ง เพื่อนำไปกำหนดให้ฟังก์ชั่น ImagePolygon() */ $setBar[$i] = array($baseX, $baseY, ($baseX + $barmax), $baseY, ($baseX + $barmax), ($baseY + $bartick), $baseX, ($baseY + $bartick)); //ใช้ฟังก์ชั่น ImagePolygon() เพื่อสร้างแผนภูมิแท่ง ImagePolygon($img, $setBar[$i], 4, $line); //คำนวณหาเปอร์เซ็นต์ของข้อมูลนั้นๆเมื่อเทียบกับผลรวมของข้อมูลทั้งหมด $percent = (100 * $data[$i]) / $sumdata; //วาดแผนภูมิแท่ง โดยใช้ฟังก์ชั่น ImageFilledRectangle() ImageFilledRectangle($img, $baseX, $baseY, $data[$i], ($baseY + $bartick), $dataFill); //แสดงข้อความเพื่อบอกค่าและเปอร์เซ็นต์ของแผนภูมิแท่งแต่ละอัน ImageString($img, 3, ($baseX - 10), $baseY + 5, $i + 1, $black); ImageString($img, 3, ($data[$i] + 15), $baseY + 5, number_format($data[$i])/100 . " [" . number_format($percent, 2) . "%]", $black);
$baseY += $barspace; //ขยับจุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง }
ImagePNG($img); ImageDestroy($img); ?>
|