PHP ကိုအသုံးပြုပြီးစိတ်ကြိုက်မက်ဆေ့ခ်ျဘုတ်ရောင်ပုံရိပ်မီးစက်ကိုတည်ဆောက်သည့်အခါရုပ်ပုံတွင်စာသား၏အနေအထားကိုတိတိကျကျတွက်ချက်ပါက, အထူးသဖြင့် agrefering () function ကိုအသုံးပြုသောအခါ imagefontwidth () fonts font function ကိုအသုံးပြုသောအခါ ImageFontwidth () သည် ကျွန်ုပ်တို့အတွက်မရှိမဖြစ်လိုအပ်သောကိရိယာတစ်ခုဖြစ်လာသည်။
သုံးစွဲသူများသည်သုံးစွဲသူများအားစာ၏အကြောင်းအရာများကိုစိတ်ကြိုက်ပြုပြင်ခွင့်ပြုရန်ခွင့်ပြုသည်ဆိုပါစို့။ စာလုံးအ 0 န်းကိုမှန်ကန်စွာတွက်ချက်ပါကစာသားသည်ပုံသဏ္ဌာန်ထက်ကျော်လွန်သို့မဟုတ်အမြင်အာရုံပေါင်းစည်းမှုကိုထိခိုက်စေနိုင်သည်။ ထို့ကြောင့်ကျွန်ုပ်တို့သည်စာသားအနေအထားကို dynamically storc ကိုမှန်ကန်စွာညှိရန်လိုအပ်သည်။
ImageFontwidth () function သည် font function ကိုအမြဲတမ်းလက်ခံသည် (ဥပမာ, 1 မှ 5 ) ကိုလက်ခံပြီးဖောင့်တစ်ခုစီ၏ pixel အကျယ်ကိုပြန်ပို့သည်။ ဥပမာအားဖြင့်:
$font = 4;
$char_width = imagefontwidth($font); // ပြန်လာသည်ဟုယူဆပါ 8
ဆိုလိုသည်မှာဇာတ်ကောင်တစ် ဦး စီသည် built-in font (4) ကိုအသုံးပြုသောအခါအကျယ်မှာ 8 pixels ဖြစ်သည်။
ကျနော်တို့ပုံရိပ် 400 pixels ကျယ်ပြန့်ဖန်တီးပြီးအသုံးပြုသူထံမှစာသား input ကိုအလျားလိုက်ဗဟိုပြုရန်လိုသည်ဆိုပါစို့။ ငါတို့လုပ်နိုင်တယ် -
<?php
// အသုံးပြုသူ input ကိုစာသား
$text = "မက်ဆေ့ခ်ျကိုဘုတ်အဖွဲ့မှကြိုဆိုပါသည်!";
// built-in ဖောင့်ကိုအသုံးပြုခြင်း
$font = 5;
$font_width = imagefontwidth($font);
// စာသားအကျယ်တွက်ချက်
$text_width = $font_width * strlen($text);
// ပုံရိပ်တစ်ခုဖန်တီးပါ
$img_width = 400;
$img_height = 100;
$image = imagecreate($img_width, $img_height);
// နောက်ခံနှင့်ဖောင့်အရောင်များကိုသတ်မှတ်ပါ
$bg_color = imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 0, 0, 0);
// ဗဟိုပြုစမှတ်ကိုတွက်ချက်ပါ
$x = ($img_width - $text_width) / 2;
$y = 40;
// ပြန်ဆိုစာသား
imagestring($image, $font, $x, $y, $text, $text_color);
// output ကိုပုံ
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
?>
ဤကုဒ်သည်အလျားလိုက် 0 င် ရိုးကိုအတိအကျတွက်ချက်သည်။
Mon-MonoWiDth ဖောင့်များ - imagefontwidth () သည် builfontwidth () သည် MonoWidth ဖြစ်သည့် built-in ဖောင့်များအတွက်သာသင့်တော်သည်။ အကယ်. သင်သည် TTF ဖောင့်ကို အသုံးပြု. Igeettedtext () ဟုခေါ်ပါက,
အက်ခရာ encoding encoding ပြ problem နာ : imagefontwidth () ကို byte အက္ခရာများပေါ်တွင်အခြေခံသည်။ ထို့ကြောင့်၎င်းသည်တရုတ်သို့မဟုတ် UTF-8 ကြိုးများနှင့်မသက်ဆိုင်ပါ။ ဤကိစ္စတွင်၎င်းကို TTF ဖောင့်ကို အသုံးပြု. သင့်တော်သောစာလုံးသို့မဟုတ်ပြန်ဆိုခြင်းသို့ပြောင်းလဲသင့်သည်။
အလိုအလျောက်မျဉ်းထုပ် - အသုံးပြုသူမှထည့်သွင်းထားသောစာသားသည်ရှည်လျားလွန်းသောအခါ $ text_width သည် image width ထက်ကျော်လွန်ခြင်းရှိမရှိဆုံးဖြတ်သင့်သည်။ အကယ်. ၎င်းသည်စာသားထက်ကျော်လွန်ပါကသင်သည်စာသားကိုလက်ဖြင့်ဖြတ်ပစ်ရန်သို့မဟုတ်စာလုံးအရွယ်အစားကိုပြုပြင်ရန်လိုအပ်သည်။ အလိုအလျောက်လိုင်းထုပ်ခြင်းယုတ္တိဗေဒကို Wordwrap () နှင့် string interception နှင့်ပေါင်းစပ်။ အကောင်အထည်ဖော်နိုင်ပါသည်။
အသုံးပြုသူမက်ဆေ့ခ်ျ၏အသေးစိတ်စာမျက်နှာကဲ့သို့သောပုံရိပ်အောက်ရှိ link ကိုအောက်တွင်ဖော်ပြလိုပါသည် ။
$url_text = "အသေးစိတ်ကိုကြည့်ပါ: https://m66.net/guestbook/12345";
imagestring($image, 2, 10, 80, $url_text, $text_color);
ဤနည်းအားဖြင့် URL ၏ domain name သည်တသမတ်တည်းကျန်ရှိနေသည်။
ImageFontwidth () ကိုအသုံးပြုခြင်းသည်ရိုးရှင်းသောပုံစာသားပြန်ဆိုခြင်း, အထူးသဖြင့်မက်ဆေ့ခ်ျဘုတ်အဖွဲ့များ, ပိုမိုရှုပ်ထွေးသောစာသားပြန်ဆိုခြင်းလိုအပ်ချက်များနှင့်ကိုက်ညီရန်ပိုမိုအဆင့်မြင့်သောဂရပ်ဖစ်လုပ်ဆောင်ချက်များရှိသော Trueetype ဖောင့်များသို့ပြောင်းရန်စဉ်းစားပါ။