လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အဘယ်ကြောင့် imagefontwidth () function ကို () function ကိုလက်ကိုင် truetype ဖောင့်လက်ကိုင်ကိုင်တွယ်? နောက်ကွယ်မှအကြောင်းပြချက်အသေးစိတ်ခွဲခြမ်းစိတ်ဖြာ

အဘယ်ကြောင့် imagefontwidth () function ကို () function ကိုလက်ကိုင် truetype ဖောင့်လက်ကိုင်ကိုင်တွယ်? နောက်ကွယ်မှအကြောင်းပြချက်အသေးစိတ်ခွဲခြမ်းစိတ်ဖြာ

M66 2025-07-18

PHP တွင်ရုပ်ပုံများကိုထုတ်ယူသောအခါ GD စာကြည့်တိုက်မှပေးသောလုပ်ငန်းဆောင်တာများကိုစာသားဆွဲရန်အသုံးပြုသည်။ ImageFontwidth () သည် built-in font width ရရန်အသုံးပြုသောလုပ်ဆောင်ချက်များထဲမှတစ်ခုဖြစ်သည်။ သို့သော် developer များစွာသည် TrueType ဖောင့်ကိုအသုံးပြုရန်ကြိုးစားသောအခါ imagefontwidth () function သည်ကောင်းမွန်စွာအလုပ်လုပ်သည်ကိုတွေ့ရှိလိမ့်မည်။ ဤဆောင်းပါးသည်ဤဖြစ်စဉ်နောက်ကွယ်ရှိအကြောင်းရင်းများကိုနက်နက်နဲနဲဖော်ပြထားသည်။

ImageFontwidth ဆိုတာဘာလဲ။

ImageFontwidth () သည် PHPG GD စာကြည့်တိုက်တွင်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်း၏ function ရှေ့ပြေးပုံစံအောက်ပါအတိုင်းဖြစ်သည် -

 imagefontwidth(int $font): int

Parameter သည် ဒေါ်လာစာလုံး (1 မှ 5 မှ 5) ကိုကိုယ်စားပြုသောကိန်းဂဏန်းကိုကိုယ်စားပြုသည်။ ဤလုပ်ဆောင်ချက်သည် GD စာကြည့်တိုက်မှကြိုတင်သတ်မှတ်ထားသောဖောင့်များကိုသာထောက်ပံ့သည်။

truetype font နှင့် built-in ဖောင့်အကြားခြားနားချက်

PHPG GD စာကြည့်တိုက်သည်အဓိကဖောင့်ပုံဆွဲခြင်းနည်းလမ်းနှစ်ခုကိုထောက်ပံ့သည်။

  • Built-in ဖောင့်များ - GD စာကြည့်တိုက်တွင်ပါ 0 င်သော bitmap fonts များဖြင့်ရေးဆွဲခြင်း,

  • Truetype font (TTF) - Egyplettext () , ပြင်ပ .ttf font files များကဲ့သို့သောလုပ်ဆောင်ချက်များနှင့်အတူ .Ttf font files များနှင့်ပိုမိုမြင့်မားသောအရည်အသွေးမြင့်စာသားပြန်ဆိုခြင်းများကိုထောက်ပံ့ရန်အသုံးပြုနိုင်သည်။

အဘယ်ကြောင့် imagefontwidth () truetype ဖောင့်ကိုင်တွယ်လို့မရဘူး?

ImageFontwidth () function ၏ဒီဇိုင်း၏အစတွင်သာ built-in font ၏ပုံသေအကျယ်ကိုသာမေးမြန်းခြင်း။ ၎င်း၏အကောင်အထည်ဖော်မှုယုတ္တိဗေဒသည် dynamically font ဖိုင်များမဟုတ်ဘဲကြိုတင်သတ်မှတ်ထားသောဖောင့်အချက်အလက်များအပေါ်အခြေခံသည်။ သတ်သတ်မှတ်မှတ်အကြောင်းပြချက်မှာအောက်ပါအတိုင်းဖြစ်သည် -

  1. Built-in ဖောင့်များသည် fixed bitmap fonts များဖြစ်သည် built-in font ၏ဇာတ်ကောင်အကျယ်ကိုကြိုတင်သတ်မှတ်ထားပြီးပုံသေပြီးပုံသေ ပြီးပုံfontwidth () သည် သက်ဆိုင်ရာအကျယ်တန်ဖိုးကိုတိုက်ရိုက်ပြန်ပို့နိုင်သည်။

  2. Truetype ဖောင့်များသည် dynamic analysis လိုအပ်သည်
    Truetype font ဖိုင်များတွင်ရှုပ်ထွေးသော vector data များပါ 0 င်သည်။ စာလုံးရေသည်တိုင်းတာခြင်းဖိုင်တွင်တိုင်းတာခြင်းဆိုင်ရာအချက်အလက်များပေါ်တွင်မူတည်သည်။ ImageFontwidth () TTF ဖိုင်များကိုခွဲခြမ်းစိတ်ဖြာနိုင်စွမ်းမရှိပါ။

  3. ကွဲပြားခြားနားသောအလုပ်လုပ်တဲ့ positioning
    ImageFontwidth () သည် built-in ဖောင့်များအတွက်ဒီဇိုင်းပြုလုပ်ထားသောအထောက်အမသုံးသောလုပ်ဆောင်ချက်ဖြစ်သည်။ TTF font width ကိုကိုင်တွယ်ရန် tsf font width ကိုပုံမှန်အားဖြင့် imagettfbobbox () ကဲ့သို့သောလုပ်ဆောင်မှုများဖြင့်ပြုလုပ်လေ့ရှိသည်။ ၎င်းသည်စာသား၏နယ်နိမိတ်သေတ္တာကိုပြန်ပို့နိုင်သည်။

Trueetype စာလုံး၏စာသားအကျယ်ကိုမှန်ကန်စွာမည်သို့ရယူရမည်နည်း။

TrueType ဖောင့်များအတွက် Igejtfbox () function ကိုအသုံးပြုရန်အကြံပြုသည်။

 <?php
$fontFile = 'm66.net/fonts/arial.ttf'; // ကျေးဇူးပြု. Font ဖိုင်လမ်းကြောင်းမှန်ကိုသေချာအောင်လုပ်ပါ
$fontSize = 12;
$text = "Hello, world!";

// စာသား box ကို box ကိုရယူပါ
$bbox = imagettfbbox($fontSize, 0, $fontFile, $text);

// အကျယ်တွက်ချက်
$width = abs($bbox[4] - $bbox[0]);

echo "စာသားအကျယ်ဖြစ်ပါတယ်: " . $width . " pixels";
?>

စာသား၏ထောင့်လေးထောင့်၏ညှိနှိုင်းမှုများဖြစ်သောဒြပ်စင် 8 ခုပါ 0 င်သော angbartfbox () imagettfbox တစ်ခုပြန်ပို့သည်။ စာသားအကျယ်ကိုအလျားလိုက်သွဒီနိတ်ကွဲပြားမှုကိုတွက်ချက်ခြင်းဖြင့်ရရှိနိုင်သည်။

အကျဉ်းချုပ်

  • imagefontwidth () gd built-in fonts အတွက်သာအသုံးပြုနိုင်ပြီး TrueType ဖောင့်ကိုမကိုင်တွယ်နိုင်ပါ။

  • Truetype font width တွက်ချက်မှုသည် imagettfbox () function ကိုလိုအပ်သည်။

  • အဆင့်မြင့်စာသားပုံဆွဲရန် GD စာကြည့်တိုက်ကိုမှန်ကန်စွာအသုံးပြုရန်ကူညီလိမ့်မည်။