首页 > php图像处理 > php 图片水印中文乱码解决方法

php 图片水印中文乱码解决方法

php 图片水印中文乱码解决方法是要转入一款中文字体就以了,如果你在生成水印有中文时,又没载入相关的字体的话,那中文肯定会是乱码的,如果是英语字母那载不载入都没关系,代码如下:

$name =  iconv("gb2312","utf-8",www.phprm.com php入门网); 
	$font = 'simhei.ttf';//水印字体    
	$im = imagecreatefromjpeg("test.jpg");//载入图片    
	$black = imagecolorallocate($im, 0, 0, 0);//设置颜色    
	imagettftext($im, 12, 0, 320, 84, $black, $font, $name);//打印水印    
	imagepng($im);//输出图片,如果要保存加个保存路径和文件名,如imagepng($im,'test1.jpg');   //开源代码phprm.com 
	imagedestroy($im);//清空缓存  

下面来看一款生成水印文字函数,代码如下:

function str2pic ($string,$source,$destination="",$f,$fontsize=10,$shadowcolor="#ffffff",$f,$x=10,$y=10) {    
	 //header('content-type:image/png'); 
	    $pi=pathinfo($source); 
	    $pie=$pi[extension];#获取扩展名 
	    if(eregi("jpg|jpeg",$pie))$im=@imagecreatefromjpeg($source); 
	    if(eregi("gif",$pie))$im=@imagecreatefromgif($source); 
	    if(eregi("png",$pie))$im=@imagecreatefrompng($source); 
	    $col1=hex2dec($shadowcolor);#阴影颜色 
	    $col2=hex2dec($fontcolor);#字体颜色 
	    $col1=imagecolorallocate($im,$col1[0],$col1[1],$col1[2]); 
	    $col2=imagecolorallocate($im,$col2[0],$col2[1],$col2[2]); 
	    imagettftext($im,$fontsize,0,$y+1,$x+1,$col1,$fonturl,$string); 
	    imagettftext($im,$fontsize,0,$y,$x,$col2,$fonturl,$string); 
	    imagejpeg($im); 
	    if($destination)imagejpeg($im,$destination); 
	    imagedestroy($im); 
	} 
	 
	function hex2dec($hexcolror) {#十六进制颜色转换成10进制颜色 
	    preg_match_all("/([0-f]){2,2}/i",$hexcolror,$matches); 
	    if(count($matches[0])==3){ 
	    $rr=hexdec($matches[0][0]); 
	    $gg=hexdec($matches[0][1]); 
	    $bb=hexdec($matches[0][2]); 
	    } 
	    return array($rr,$gg,$bb); 
	} 
	 
	<?php 
	str2pic("[url=http://www.phprm.com]www.phprm.com","winter.jpg","winter2.jpg","simhei.ttf",10,"ffffff","330099",10,10[/url]); 
	 

文章地址:http://www.phprm.com/tuxiang/fs4476.html

转载随意^^请带上本文地址!

标签:php中文乱码 php图片水印

相关文章

发表留言