php gd庫擴充套件生成帶中文字型的png圖片
注意中文字型的話,需要首先安裝字型庫才行,這裡以楷體字為例,來生成圖片
apt-get install fonts-cwtex-kai
find -name *kai*.ttf./usr/share/fonts/truetype/cwtex/cwkai.ttf
test_gd.php檔案要求是以utf8無bom格式編碼的
<?php
class Test_gd {
public function __construct()
{
if(extension_loaded('gd')) {
// echo '你可以使用gd<br>';
/*foreach(gd_info() as $cate=>$value) {
echo "$cate: $value<br>";
}*/
}else {
echo '你沒有安裝gd擴充套件';
return;
}
}
/**
* 生成一個png圖片,上面字型為楷體
* @param [string] $text 中文文字
* @return [void]
*/
public function createPng($text)
{
// Set the content-type
header ( 'Content-Type: image/png' );
// Create the image
$im = imagecreatetruecolor ( 120 , 30 );
// Create some colors
$blue = imagecolorallocate ( $im , 105 , 158 , 195 );
$grey = imagecolorallocate ( $im , 128 , 128 , 128 ); //表示陰影效果
$white = imagecolorallocate ( $im , 255 , 255 , 255 );
imagefilledrectangle ( $im , 0 , 0 , 120 , 29 , $blue );
// Replace path by your own font path
//$font = '/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf' ;
$font = '/usr/share/fonts/truetype/cwtex/cwkai.ttf';//楷體
$len = mb_strlen($text);
$posX = (imagesx($im)-20*$len) / 2 - 3*($len-1) - $len*0.5; //字間距和字留白都要去掉
// Add some shadow to the text
//imagettftext ( $im , 20 , 0 , $posX+1 , 24 , $grey , $font , $text );
// Add the text
imagettftext ( $im , 20 , 0 , $posX , 23 , $white , $font , $text );
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng ( $im );
imagedestroy ( $im );
}
/**
* 降低圖片質量,減小檔案體積
* @return [void]
*/
public function tinyImage()
{
$sImage = '/home/www/medicine/SPH00000972/主圖1.jpg';
$tImage = '/home/www/data/SPH00000972_1.jpg';
$im = imagecreatefromjpeg($sImage);
imagejpeg($im,$tImage,50); //quality setting to 50%
imagedestroy($im);
echo "complete<br/>";
}
}
$gdTest = new Test_gd();
$text = $_GET['text'];
$gdTest->createPng($text);
?>
最終生成的圖片效果如下:
相關文章
- PHP 安裝 GD 圖形擴充套件庫(報錯:GD Library ... this PHP installation.)PHP套件
- centos下為php新增gd擴充套件CentOSPHP套件
- GD 庫 PNG 透明底圖片新增文字及圖片水印
- Docker 安裝 PHP7.4 GD擴充套件DockerPHP套件
- Linux 增加PHP擴充套件gd庫套件
- CalltoundefinedfunctionImageCreate()錯誤解決擴充套件gd庫UndefinedFunction套件
- php mysqli擴充套件庫的使用PHPMySql套件
- [外掛擴充套件]圖片牆套件
- 中文分詞 PHP 擴充套件 SCWS 安裝中文分詞PHP套件
- php擴充套件模組作用及中文註釋PHP套件
- PHP擴充套件開發就是一個自己的PHP擴充套件PHP套件
- 【例項】使用GD庫生成圖片驗證碼
- PHP的SPL擴充套件庫(四)函式PHP套件函式
- PHP的SPL擴充套件庫(三)迭代器PHP套件
- PHP 系統樹圖擴充套件元件PHP套件元件
- 新增php擴充套件PHP套件
- php ubuntu 擴充套件PHPUbuntu套件
- linux_php_jpeg6,png,gdLinuxPHP
- 圖片處理擴充套件 Grafika 的簡單使用套件
- 使用cjieba(結巴分詞庫)實現php擴充套件中文分詞JiebaPHP套件中文分詞
- activiti 生成當前任務圖片PNG
- 開發php擴充套件PHP套件
- PHP 擴充套件安裝PHP套件
- PHP7擴充套件PHP套件
- Laravel 使用 intervention/image 擴充套件包,生成帶文字的海報Laravel套件
- [外掛擴充套件]廣告圖片漂浮外掛套件
- [外掛擴充套件]圖片輪播外掛套件
- 編寫基於PHP擴充套件庫的後門PHP套件
- 基於PCNTl擴充套件的PHP多程式管理庫套件PHP
- PHP的SPL擴充套件庫(一)資料結構PHP套件資料結構
- Linux下安裝PHP的lua擴充套件庫LinuxPHP套件
- PHP GD庫解析一張簡單圖片並輸出PHP
- php7安裝redis擴充套件和memcache擴充套件PHPRedis套件
- 新增php的memcached擴充套件模組PHP套件
- 安裝PHP的memcache擴充套件PHP套件
- 圖片處理擴充套件 Intervention/image 的簡單使用套件
- PHP pdf轉化為圖片(PNG)PHP
- [外掛擴充套件]幻燈片 | 滾動圖片 外掛套件