PDA

View Full Version : سوال: کار با کتابخانه gd



afsoos4
پنج شنبه 11 اردیبهشت 1393, 20:24 عصر
سلام
درموقع کار با کتابخانه gd وقتی می خواهم متنی را به تصویر تبدیل کنم از تابع imagestring این کار را انجام می دهم و اگر متن لاتین باشد به خوبی کار می کند ولی متاسفانه در متن های فارسی کار نمی کنه و کاراکترهای (خاص و عجیبی ) نشان می دهد و utf8 را پشتیبانی نمی کند.
لطفا راهنمایی کنید

afsoos4
دوشنبه 15 اردیبهشت 1393, 08:58 صبح
کسی به این مشکل بر نخورده که نمی شه در php تصویر با متن فارسی درست کرد

aalmair
دوشنبه 15 اردیبهشت 1393, 12:11 عصر
این کدو برات نوشتم کامل نیست اما کارتو راه می اندازه فقط از یک فونت فارسی استفاده کن
C:\Windows\Fonts





function reverse_persian_str($str='')
{
$strlen=strlen($str);
$arr=array();
$temp_str='';
for($i=0;$i<$strlen;$i++)
{
if(ord($str[$i])>=127 && ($i+1)<$strlen)
{

$arr[]=$str[$i].$str[$i+1].(strlen($temp_str)?($temp_str):'');
strlen($temp_str)?($temp_str=''):'';
$i++;

}else{
$temp_str.=$str[$i];
}
}
if(strlen($temp_str))
{
$arr[]=$temp_str;
}

$count_arr= count($arr);
for($i=0;$i<$count_arr/2;$i++)
{
$t=$arr[$i] ;
$arr[$i]=$arr[$count_arr-$i-1] ;
$arr[$count_arr-$i-1] = $t;

}

return implode('',$arr);
}



$str='آرش arash';
$str=reverse_persian_str($str);
$font='msuighur.ttf';
$im=imagecreate(200,200);


imagerectangle($im,0,0,199,199,imagecolorallocate( $im,255,255,255));
imagettftext ($im,20,1,100,100,imagecolorallocate($im,0,0,255), $font,$str);


header('content-type: image/jpg;utf-8');
imagejpeg($im);

Leo.Man
دوشنبه 15 اردیبهشت 1393, 15:42 عصر
یه کلاس برای تبدیل فارسی هستش ! توی گوگل سرچ کن : فارسی نویسی در gd

afsoos4
چهارشنبه 17 اردیبهشت 1393, 10:54 صبح
ممنون بابت کدتون کارم رو راه انداخت
:تشویق:
ولی کلمات رو با فاصله چاپ می کنه مثلا به جای علی می نویسه ع ل ی

aalmair
پنج شنبه 08 خرداد 1393, 19:25 عصر
ممنون بابت کدتون کارم رو راه انداخت
:تشویق:
ولی کلمات رو با فاصله چاپ می کنه مثلا به جای علی می نویسه ع ل ی

فونتت رو عوض کن