|   |  | 
        
          | 
			  
			    | 茫茫網海中的冷日 發生過的事,不可能遺忘,只是想不起來而已!
 |  
				|  | 恭喜您是本站第 1746576 
										位訪客!
					 登入  | 註冊 |  |  | 
      
      
        
                      | 
 
 
 
 
 
 | 
                      
	| 發表者 | 討論內容 |  
	| 冷日 (冷日)
 | 發表時間:2010/2/10 3:14 |  
	| 
	Webmaster   
		註冊日: 2008/2/19來自: 發表數: 15773 | 
	[分享]如何讓 JpGraph 顯示中文如何讓 JpGraph 顯示中文這篇是我在網路上的好友 chihwen 向我提到的,JpGraph 能否顯示中文?我在和他討論後,找到了方法,便把它記在這裡了。
 JpGraph 是一套包裝 GD 函式庫,可用來顯示圖表的 PHP 類別程式。新版 (1.17) 已支援顯示中文,而不必我們手動轉換。
 
 
 安裝在使用 JpGraph 之前,請先確認安裝了:
 
 GD2 (繪圖函式庫) iconv (字元編碼轉換函式庫)
 以上的函式庫在最新版的 PHP5 Win32 版已內建,並請在 PHP.INI 設定好。
 將最新版的 JpGraph 下載回來後,找到 src 資料夾,將它更名為 jpgraph ,然後放到 PHP.INI 指定的 include_path 下。
 (在原 src 資料夾下有個 Examples 子資料夾,裡面有很多不錯的範例。)
 接著在更名後的 jpgraph 資料夾下,找到 jpg-config.inc 檔,修改以下的設定:
 
 DEFINE('CHINESE_TTF_FONT','bkai00mp.ttf');我個人偏好用新細明體,所以我改成:
 
 DEFINE('CHINESE_TTF_FONT','mingliu.ttc');在 Windows 系統上, JpGraph 會自行抓取系統的字型存放路徑,所以基本上不需擔心路徑問題。
 
 
 範例我們來看看一個範例 (取自PHP之戀)
 
 <?php
include ("jpgraph/jpgraph.php");
include ("jpgraph/jpgraph_pie.php");
include ("jpgraph/jpgraph_pie3d.php");
$data = array(40, 60, 21, 33, 50);
$graph = new PieGraph(400, 200);
$graph->SetShadow();
$graph->title->SetFont(FF_BIG5, FS_NORMAL);
$graph->legend->SetFont(FF_BIG5, FS_NORMAL);
$graph->title->Set("中文");
$p1 = new PiePlot3D($data);
$p1->SetSize(0.5);
$p1->SetCenter(0.45);
$p1->SetLegends(array("中文","2","3","4","5"));
$graph->Add($p1);
$graph->Stroke();
?>執行結果如下圖:
 
  重點就是我們只要針對 $graph 裡的屬性值,像是 title 、 legend 等設定 SetFont(FF_BIG5) 或是 SetFont(FF_CHINESE) ,就能正常顯示中文了。
 
 
 補充chihwen 發現原本的 Pie3D 所呈現的圖樣顏色 (Legend) 和資料呈現的顏色無法對應,我到官方網站去搜尋的結果,找到了一篇討論:http://jpgraph.intellit.nl/viewtopic.php?t=2087&highlight=pieplot3d
 修正方式:
 找到 jpgraph_pie.php ,並做以下的修改:
 第 229 行,加上 strtolower() 如下:
 
 if( strtolower(get_class($this))==='pieplot3d' ) {第 236 行,加上 strtolower() 如下:
 
 if( $graph->pieaa && strtolower(get_class($this))==='pieplot' ) {這是 PHP4 轉 PHP5 未向下相容的問題,因為預設 get_class() 在 PHP4 回傳都會是小寫,但 PHP5 則是大小寫有別所造成。
 以上資訊感謝 chihwen 提供~~
 
 
 補充新版的 JpGraph 已解決上面的問題,請記得更新!
 
 
 原文出處:網站製作學習誌 » 如何讓 JpGraph 顯示中文
 |  
	|  |  
 討論串
 
 
                     |