ژوپین
  1. خانه
  2. بلاگ
  3. آموزش
  4. آموزش php
  5. تبدیل متن فارسی و utf-8 به عکس یا تصویر با php

تبدیل متن فارسی و utf-8 به عکس یا تصویر با php

آموزشآموزش php

نکات مهم این مطلب

تبدیل متن و جمله حاوی کلمات و حروف فارسی و عربی به عکس یا تصویر با php

به کمک این آموزش و تابع php که در ادامه مطلب به آن میرسیم ، قصد داریم متون فارسی را به عکس تبدیل کنیم و حتی رنگ متن و پس زمینه را نیز تعیین کنیم.


تبدیل متن به عکس با php کار سختی نیست ولی وقتی متون فارسی یا عربی وسط بیاید کمی کار متفاوت می شود.


برای این تبدل از کتابخانه GD در php استفاده می کنیم که در همه هاست ها فعال است و نگران فعال نبودن این اکستیشن نباشید.


 


<!--?php


function text2image($str="",$size=12,$text_color=array(0,0,0),$bg_color=array(255,255,255)){
$font_path="";
$angle = 0;
if(!function_exists('getTextBox') ){
function getTextBox($font_path, $text, $size, $angle)
{
$box = imagettfbbox($size, $angle, $font_path, $text);

$minX = min(array($box[0],$box[2],$box[4],$box[6]));
$maxX = max(array($box[0],$box[2],$box[4],$box[6]));

$minY = min(array($box[1],$box[3],$box[5],$box[7]));
$maxY = max(array($box[1],$box[3],$box[5],$box[7]));

return array("width" => ($maxX - $minX), "height" => ($maxY - $minY));
}
}


$F = getTextBox($font_path,$str,$size,$angle);

$im = imagecreatetruecolor($F['width']+5, $F['height']+5);
$text_color = imagecolorallocate($im, $text_color[0], $text_color[1], $text_color[2]);
$bg_color = imagecolorallocate($im, $bg_color[0], $bg_color[1], $bg_color[2]);
imagefilledrectangle($im, 0, 0, $F['width']+5, $F['height']+5, $bg_color);


imagettftext($im,$size, 0, 0, $F['height'], $text_color, $font_path, $str);

ob_start();
imagepng($im);

imagedestroy($im);
return [removed].base64_encode(ob_get_clean());

}

?-->


 


در تابع بالا در ابتدای تابع متغیر font_path را باید مقدار دهی کنید. یک فونت فارسی از نوع ttf را در مسیری در هاست خود قرار دهید و مسیر آن را در این متغیر بگذارید . توجه کنید مسیر یا path را قرار دهید نه آدرس url . مثلا اگر فایل فونت شما دقیقا در کنار فایل حاوی این تابع است کافیست فقط نام فایل فونت را بنویسید که یعنی فونت دقیقا در کنار فایل من است مثلا:


$font_path="iranssanse.ttf";

 


 


 




برای استفاده از تابع بالا کافیست در تگ img خود مقدار src را خروجی این تابع قرار دهید



src="<!--?php echo text2image('متن من') ?-->" 



 


نظرات



ارسال نظر

جهت قرار دادن کد در متن کامنت ، متن مورد نظر را انتخاب کنید و دکمه بالا را بزنید

گفتگو با پشتیبان