台灣最大程式設計社群網站
線上人數
581
 
會員總數:244676
討論主題:188773
歡迎您免費加入會員
討論區列表 >> PHP >> 使用gd將文字轉成圖片失敗.
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
使用gd將文字轉成圖片失敗.
價值 : 50 QP  點閱數:188 回應數:5

樓主

Thank you all.....
初學者
45 120
1254 158
發送站內信

以下是二段原始碼:

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>圖片測試</title>
</head>
<body>
<img src="imggen.php?text=abc@test.com">
</body>
</html>



imggen.php

<?php
$text=$_REQUEST["text"];//顯示的文字
$size=12;//字型大小
$font="c:/windows/fonts/SIMHEI.TTF";//字型型別,這裡為黑體,具體請在windows/fonts資料夾中,找相應的font檔案
$img=imagecreate(500,24);//建立一個長為500高為16的空白圖片
imagecolorallocate($img,0xaa,0x00,0xff);//設定圖片背景顏色,這裡背景顏色為#aa00ff
$black=imagecolorallocate($img,0x00,0x00,0x00);//設定字型顏色,這裡為#000000
imagettftext($img,$size,0,0,16,$black,$font,$text);//將ttf文字寫到圖片中
header("Content-Type: image/png");//傳送頭資訊
imagepng($img);//輸出圖片,輸出png使用imagepng方法,輸出gif使用imagegif方法
imagedestroy($img);
?>

有生成圖片,但沒有文字....

請問哪裡出問題了??? 謝謝...

搜尋相關Tags的文章: [ gd ] , [ 文字 ] , [ 圖片 ] ,
本篇文章發表於2019-04-10 19:49
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

淺水員
檢舉此回應
我只有改 $font ,程式是正常的
不過我是把字型檔複製到一般的位置,而不是直接用 windows 資料夾裡面的
(不知道是不是因為 windows 資料夾有保護的關係?)
也許可以先拿掉 header("Content-Type: image/png");
然後直接連 imggen.php?text=abc@test.com 看看有沒有顯示錯誤
本篇文章回覆於2019-04-11 16:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Thank you all.....
檢舉此回應
要是不能用系統的字型的話,那不就變成輸出的情況會很混亂???

還請有弄過的人教導一下.
本篇文章回覆於2019-04-11 16:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

淺水員
檢舉此回應
何謂輸出的情況很混亂?
字型檔一樣是自己指定的
指定哪個字型就固定是那個字型了

目前我猜測問題可能是下面其中之一
1. 資料夾權限問題
2. 字型檔的格式GD無法讀取

至於是哪個就自己實驗看看了
本篇文章回覆於2019-04-11 16:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

淺水員
檢舉此回應
說清楚一點好了
其實我比較建議字型檔放在網站某個資料夾
(再透過一些設定,例如 .htaccess,拒絕被使用者直接存取)
然後 PHP 用 imagettftext 讀取這個字型檔即可
這樣要換主機就是整個網站的資料夾(內含字型檔)直接搬過去就好
跟作業系統安裝哪些字型根本無關
imagettftext 並不會管作業系統安裝了哪些字型
他只是要一個字型檔而已
本篇文章回覆於2019-04-11 17:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Thank you all.....
檢舉此回應
謝謝4F的朋友....

我想我了解哪裡出問題了....

我的伺服器是用CentOS......用Win7開網頁....以為是讀取Win7的字型.....

原來是伺服器裡沒有字型.....
本篇文章回覆於2019-04-11 17:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.