ถ้าผมต้องการใส่กราฟลงใน PDF ทำงัยครับ คือมีการดึงข้อมูลมาจากฐานข้อมูล แสดงเป็น กราฟใส่บนหน้า PDF อะครับ
ทำกราฟเป้นรูป แล้วค่อยแทรกรูปเข้าไป pdf ครับ
Date :
2010-01-05 16:31:53
By :
lozomac
พอจะมีตัวอย่างไหมครับผมอยากได้ตัวอย่างด้วยอะครับยังงงอยู่ครับ
Date :
2010-01-05 16:38:47
By :
ryuk
Code กราฟ graph.php(PHP)
<?
header("Content-type: image/png");
// ค่าของข้อมูลที่ต้องการสร้างกราฟ ดึงมาจากฐานข้อมูลก้ได้
$data[1]="30";
$data[2]="40";
$data[3]="50";
$data[4]="60";
$data[5]="70";
$data[6]="80";
$data[7]="90";
$data[8]="100";
$img = ImageCreate(500, 310); //สร้างรูปขนาด 250x320
ImageColorAllocate($img, 255, 255, 255); //กำหนดพื้นรูปเป็นสีขาว
//กำหนดสีที่ใช้ในการวาด
$line = ImageColorAllocate($img ,176, 208, 210);
$dataFill = ImageColorAllocate($img, 122, 176, 180);
$black = ImageColorAllocate($img, 87, 32, 324);
//สร้างเส้นตรงในแนวตั้ง ซึ่งเป็นเส้นที่ขนาบขอบด้านซ้ายของแผนภูมิแท่ง
ImageLine($img, 50, 50, 50, 50, $line);
$bartick = 20; //ความหนาของแผนภูมิแท่งแต่ละอัน
$barspace = 30; //ระยะห่างระหว่างแผนภูมิแท่งแต่ละอัน
$barmax = 400; //ความยาวสูงสุดของแผนภูมิแท่ง
$baseX = 50; //จุดเริ่มต้นในแนวนอนของแผนภูมิแท่ง
$baseY = 30; //จุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง
//วนลูปเพื่อสร้างแผนภูมิแท่ง
for ($i=1; $i<=count($data); $i++) {
//หาจำนวนเความกว้างของกราฟ
$percent[$i]=$data[$i];
$data[$i]=$data[$i]*$barmax /100;
/* สร้างตัวแปรอาร์เรย์เก็บพิกัดของมุมต่างๆของแผนภูมิแท่ง เพื่อนำไปกำหนดให้ฟังก์ชั่น
ImagePolygon() */
$setBar[$i] = array($baseX, $baseY,
($baseX + $barmax), $baseY,
($baseX + $barmax), ($baseY + $bartick),
$baseX, ($baseY + $bartick));
//ใช้ฟังก์ชั่น ImagePolygon() เพื่อสร้างแผนภูมิแท่ง
ImagePolygon($img, $setBar[$i], 4, $line);
//วาดแผนภูมิแท่ง โดยใช้ฟังก์ชั่น ImageFilledRectangle()
ImageFilledRectangle($img, $baseX, $baseY, ($data[$i]+50), ($baseY + $bartick), $dataFill);
//แสดงข้อความเพื่อบอกค่าของแผนภูมิแท่งแต่ละอัน
ImageString($img, 3, ($baseX - 10), $baseY + 5, $i , $black);
ImageString($img, 3, ($data[$i] + 55), $baseY + 5,
number_format($percent[$i]) ."%", $black);
$baseY += $barspace; //ขยับจุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง
}
ImagePNG($img);
ImageDestroy($img);
?>
Code การเรียกกราฟ
<img src="path/to/graph.php" />
Date :
2010-01-05 16:45:36
By :
lozomac
เวลาผมเขียนโคดแบบนี้แล้วมันใช้ไม่ได้อะครับ คือถ้าต้องการดึกรูปออกมา ที่อยู่คนละที่กับงานอะครับ
$pdf->Image('image/logoEXCELRICE.jpg'.$image, 85, 30,50,30, $size[0], $size[1]);
แล้วมันขึ้น ERROR แบบนี้อะครับ
Warning: getimagesize(image/logoEXCELRICE.jpg) [function.getimagesize]: failed to open stream: No such file or directory in C:\AppServ\www\mis\administater_mis\lib\fpdf.php on line 1498
FPDF error: Missing or incorrect image file: image/logoEXCELRICE.jpg
Date :
2010-01-06 09:37:46
By :
ryuk
image/logoEXCELRICE.jpg ไม่มีไฟล์นี้อยู่ครับ ลองตรวจสอบเรื่องตำแหน่งแล้วชื่อไฟล์ให้ถูกต้อง ครับ
Date :
2010-01-06 14:08:19
By :
lozomac
จะเขียน codeให้ดึง กราฟมาแสดงได้ยังงัยครับ คือว่าข้อมูลผมมีการเปลี่ยนแปลงอยู่ตลอดอะครับ
Date :
2010-01-07 10:03:03
By :
ryuk
Load balance : Server 00