解决GD中文乱码问题

yipeiwu_com5年前PHP代码库
今天仔细研究了下GD的一些相关技术,顺手也研究下GD中文乱码的问题。

  使用GD库输出中文字符串,调用imagestring是没有用的。需要使用imagettftext()函数。imagettftext函数的具体使用就参考手册啦。

  下面给个使用实例:

   

$pic=imagecreate(250,30); 
$black=imagecolorallocate($pic,0,0,0); 
$white=imagecolorallocate($pic,255,255,255); 
$font="C://WINDOWS//Fonts//simhei.ttf";  //这里的路进需要注意下,必须是字符的路径
$str ='php'.iconv('gb2312','utf-8','面对对象')." www.phpobject.net"; 
imagettftext($pic,10,0,10,20,$white,$font,$str);
      


    前面我给出一个简单的GD水印实例,只举例说明了使用图片如何水印的,这里给出一个文字水印的简单代码。

 

<?php 
$pic
=imagecreate(250,30); 
$black=imagecolorallocate($pic,0,0,0); 
$white=imagecolorallocate($pic,255,255,255); 
$font="C://WINDOWS//Fonts//simhei.ttf";  
$str ='php'.iconv('gb2312','utf-8','面对对象')." www.phpobject.net"
imagettftext($pic,10,0,10,20,$white,$font,$str);

header("Content-type: image/jpeg");
$filename='../src/images/photo.jpg';
$im=imagecreatefromjpeg($filename);
imagecopymerge($im,$pic,0,0,0,0,250,30,50);
imagejpeg($im);
?>  
     

 

相关文章

PHP中调试函数debug_backtrace的使用示例代码

PHP中调试函数debug_backtrace的使用示例代码

前言 如果我们想知道某个方法被谁调用了? debug_backtrace可以解决。debug_backtrace() 可以打印出一个页面的调用过程 , 从哪儿来到哪儿去一目了然。...

php实现登陆模块功能示例

本文实例讲述了php实现登陆模块功能的方法。分享给大家供大家参考,具体如下: 最近在学习php。学了一点关于登陆的东西,写下来备忘。 新建四个页面,分别命名为: login.php ch...

php设计模式 DAO(数据访问对象模式)

复制代码 代码如下: <?php /** * 数据访问对象(Data Access Object) 示例 * * @create_date: 2010-01-04 */ class...

实例讲解通过&#8203;PHP创建数据库

实例讲解通过&#8203;PHP创建数据库

数据库是相互关联的数据的集合,我们可以从数据库中有效地检索,插入和删除数据,并以表格,视图,模式等形式组织数据。今天将要介绍如何通过PHP来创建MySQL数据库 PHP创建MySQL数据...

php单件模式结合命令链模式使用说明

php单件模式结合命令链模式使用说明

可能对于部分人来说,文章内容过于浅显,这是送给初学者的教程,因为时间比较紧(要陪老婆逛街,呵呵),其中出现了设计不规范的,代码书写不规范的,bug等等还望各路大侠指出来,方便大家共同进步...