登入會員 重寄密碼 加入會員
晉平日劇筆記
 


BLOG標題說明 
︙☰
回上一頁
系統:ImageTTFText() 2001-09-15 2010-02-02 17:34:37
站長的網友Naoki的日劇筆記被人盜拷於是Naoki決定暫時停止這個單元,為了讓日劇筆記能復出,於是Naoki建議能把文字變圖的方法,站長在印象中有看過這類的程式,於是答應進行文字變圖的工作,好讓日劇筆記能早日復出,但事實上沒有站長想的那麼簡單,而且對於平常不看英文文件的站長是另一個挑戰,待站長詳細說道.
(謝謝Naoki建議,因為很多funtion()都是用到才會去學的)

查閱了PHP image funtion,找到了ImageString()的funtion,於是照著上面範例Key in到測試程式,結果出現錯誤訊息,又再去看文件,才知道PHP image funtion是外掛的,要先install GD Lib,install 完畢後測試後結果是不能輸出jpeg格式圖片,又去查閱文件才知道要使用ImageJPEG() funtion 輸出JPEG格式必需要JPEG6b Lib,此時又折騰一陣子才知道用Default的設定就能輸出JPEG格式圖片高興之後,又是另一個挑戰開始,就是英文正常,中文會顯示出BIG5碼,於是又到很多PHP討論區,知道了要顯示中文必需要用ImageTTFText() funtion才能正確顯示,但必需要另外install freetype,於是又install freetype,測試後發現ImageTTFText() 要built with true type font,為了這個錯誤訊息,花了比前面更長時間,除了看free type,GD lib的官方文件,又去找了英文的PHP 討論區,之中又發現了ImageTTFText() 只支援UNICODE utf8編碼的True Type font,於是下載了BIG5->UTF8的PHP程式和BIG5->UNICODE table,就在燃起希望和失望交替中渡過,這時對自己說,一定要讓ImageTTFText()動起來,認真的再看一遍GD Lib的install 設定檔,大概了解設定檔要如何設定,於是到正在compile關鍵程式gdttfc.c可是問題又來了,include的path全部找不到,原來是找不ftheader.h,又重新設定了include ftheader.h的path,又發生的問題是ftheader.h中的include path必需再加/usr/local/freetype2/,才能正確include,改正之後再次compile又發生未定義資料結構,funtion未定義,才完全知道freetype 2.0根本就沒有gdttf.c需要的lib,原來支援的是free type 1.x,於重新install了freetype-1.3.1,由於需要x windows的lib於是install XFREE86-DEVEL-3.3(RPM),用了default的Makefile順利compile完畢並且install完成,之後re compile php完之後發生了libphp4.so share not open問題,查閱了討論區才知道edit /etc/ld.so.conf,把/usr/local/apache/libexec加入,rerun /sbin/ldconfig,httpd就可以start了終於在phpinfo()看到FreeType Linkage with TTF library,終於解決了,光輝的PHP日誌又寫下了一頁.

PHP支援ImageTTFText()解決流程:
1.確定有沒有install X-windows,因為free type 1.x需要用到,如沒有請intall XFREE86-DEVEL-x.x

2.install free type 1.3.x 照default設定就可以install 成功,到這邊下載http://www.freetype.org/

3.install jpeg-6b同樣用default設定就可以install 成功,到這邊下載http://www.ijg.org/

4.install GD-lib 1.8.x,先設定Makefile
CFLAGS=-O -DHAVE_LIBXPM -DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_LIBTTF 注意-DHAVE_LIBTTF是否加入
LIBS=-lgd -lpng -lz -ljpeg -lm -lttf 注意-lttf是否加入
INCLUDEDIRS=-I. -I/usr/local/include/freetype -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include 注意freetype的路徑
設定完畢就可以install了
到這邊下載http://www.boutell.com/gd/

5.重新compile PHP
./configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql --with-gd=/usr/local --with-jpeg-dir=/usr/local --with-ttf=/usr/local --prefix=/usr/local/php 注意是否加入--with-gd=/usr/local --with-jpeg-dir=/usr/local --with-ttf=/usr/local
install PHP完畢就可以使用ImageTTFText() funtion.

最後就可以在phpinfo()看到
gd
GD Support______________enabled
GD______________________Version 1.6.2 or higher
FreeType Support________enabled
FreeType________________Linkage with TTF library
JPG Support_____________enabled
------------------------------------
歡迎光臨偶像劇場∠(^_^)
回上一頁   245人說讚 讚一個   關聯:   人氣:2610   回覆:0   編輯 關聯 刪除
留 言
暫無留言,歡迎留言.
留言
  • 請勿負面批評網友留言、藝人、長相。
  • 笑臉 笑臉2 YA 爆笑 笑到並軌 羨慕 冷靜 無感 竊喜 臉紅 疑問 冒冷汗 三條線 保密 驚訝 拋媚眼 失落 大哭 迷茫 生氣 敲打指責 睡著 滑稽 親親 慶祝
    貼連結 |