လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ၏ကွဲပြားခြားနားသောဗားရှင်းများတွင် imagefontwidth ၏အပြုအမူခြားနားချက်

PHP ၏ကွဲပြားခြားနားသောဗားရှင်းများတွင် imagefontwidth ၏အပြုအမူခြားနားချက်

M66 2025-05-24

ကျယ်ပြန့်စွာအသုံးပြုသောဆာဗာဘေးထွက် Scripting Language တွင် PHP ၏ built-in Image Processing Library GD သည်ကွဲပြားခြားနားသောဗားရှင်းများပြောင်းလဲမှုများအချို့ကိုရရှိခဲ့သည်။ ဤဆောင်းပါးသည် Importfontwidth () function ကိုကွဲပြားခြားနားသော PHP ဗားရှင်းများ၏အပြုအမူကွဲပြားမှုကိုအာရုံစိုက်ပါက developer များအနေဖြင့် function ကိုမှန်ကန်စွာနားလည်ပြီးအသုံးပြုသောပြ problems နာများကိုရှောင်ရှားရန်နှင့်ဗားရှင်းကွဲပြားခြားနားမှုများကြောင့်ပြ problems နာများကိုရှောင်ရှားပါလိမ့်မည်။


1 ။ ImageFontwidth () function ကိုမိတ်ဆက်

ImageFontwidth () သည်သတ်မှတ်ထားသော built-in font width ရရှိရန်အသုံးပြုသော PHPG GD စာကြည့်တိုက်တွင် function တစ်ခုဖြစ်သည်။ ၎င်း၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုအောက်ပါအတိုင်းဖြစ်သည် -

 int imagefontwidth ( int $font )
  • Parameter $ font : များသောအားဖြင့် 1 မှ 5 မှ 5 အထိကိန်းဂဏန်းများကိုကိုယ်စားပြုသည်။

  • ပြန်လာတန်ဖိုး - ဖောင့်၏အက်ခရာအကျယ် (pixel) ။

ဤလုပ်ဆောင်ချက်သည်အဓိကအားဖြင့် ရုပ်ပုံများကို တွက်ချက်ရန်အဓိကအားဖြင့်ဗဟိုနှင့် alignment salignment ကိုပိုမိုထိရောက်စေရန်စာသားအကျယ်ကိုတွက်ချက်ရန်အဓိကအားဖြင့်အသုံးပြုသည်။


2 ။ ကွဲပြားခြားနားသော PHP ၏ဗားရှင်းကွဲပြားခြားနားမှုကွဲပြားခြားနားသောအပြုအမူကွဲပြားခြားနားမှု

1 ။ PHP 5.x နှင့်ထိုထက်စော

PHP 5.x နှင့်အစောပိုင်းတွင် ImageFontwidth () တွင်မတည်ငြိမ်သောအရာများပြုလုပ်သောကြောင့်ပြန်လည်နေရာချထားသည့်အ 0 တ်အစားသည်သတ်မှတ်ထားသောဖောင့်၏တိကျသောအရွယ်အစားနှင့်သက်ဆိုင်သောသတ်မှတ်ထားသောသတ်မှတ်ထားသောတန်ဖိုးတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်:

 <?php
for ($font = 1; $font <= 5; $font++) {
    echo "Font $font width: " . imagefontwidth($font) . "\n";
}
?>

အောက်ပါအတိုင်း output ကိုအကြမ်းအားဖြင့်:

 Font 1 width: 5
Font 2 width: 6
Font 3 width: 7
Font 4 width: 8
Font 5 width: 9

၎င်းသည် imagefonteight () နှင့်အလုပ်လုပ်သည်, aliasing ဆန့်ကျင်ရေးနှင့်ချုံ့ခြင်းမရှိဘဲ font size တပ်ဆင်ထားသည်။

2 ။ PHP 7.x ဗားရှင်း

PHP 7.x ဗားရှင်းသည် GD စာကြည့်တိုက်သို့နောက်ခံအကောင်းမြင်မှုများပြုလုပ်ခဲ့ပြီး, ImageFontwidth () ၏အပြုအမူသည်အခြေခံအားဖြင့်တသမတ်တည်းဖြစ်သည်။ နေဆဲကြိုတင်သတ်မှတ်ထားသောအကျယ်ကိုပြန်ပို့ခြင်းနှင့် built-in font နံပါတ် 1 မှ 5 ကိုထောက်ပံ့နေကြသည်။

သို့သော်, GD စာကြည့်တိုက်ဗားရှင်းသည်အသက်ကြီးလွန်းပါက, GD စာကြည့်တိုက်နှင့် PHP ဗားရှင်းကိုထပ်တူပြုခြင်းကိုအဆင့်မြှင့်တင်ရန်အကြံပြုသည်။

3 ။ PHP 8.x ဗားရှင်း

PHP 8.x သည်ဤလုပ်ဆောင်မှုကိုအခြေခံကျကျပြောင်းလဲခြင်းကိုအခြေခံကျကျပြောင်းလဲခြင်းမရှိဘဲ imagefontwidth () ကိုအထောက်အပံ့ဆက်လက်ထိန်းသိမ်းထားသည်။ သို့သော် PHP 8 သည်တင်းကျပ်သောအမျိုးအစားစစ်ဆေးခြင်းကိုအလေးထားသည်။ ဥပမာအားဖြင့်:

 <?php
echo imagefontwidth("3"); // အမှားတစ်ခုဖြစ်ပေါ်စေလိမ့်မယ်
?>

ဝင်လာသော $ font parameter သည်ကိန်းတစ်ခုဖြစ်ကြောင်းသေချာစေရန်လိုအပ်သည်။

ထို့အပြင် PHP 8.x သည် GD စာကြည့်တိုက်ကိုပိုမိုကောင်းမွန်သောပုံရိပ်များနှင့်ပိုမိုကောင်းမွန်သောစွမ်းဆောင်ရည်ကိုထောက်ပံ့နိုင်သည့် GD စာကြည့်တိုက်ကိုတိုးမြှင့်ပေးသည်


3 ။ ကြိုတင်ကာကွယ်မှုများနှင့်ဘုံပြ issues နာများ

1 ။ စာလုံးအရေအတွက်အကွာအဝေး

ImageFontwidth () ကိန်းဂဏန်းများ 1 မှ 5 ကိုသာလက်ခံသည်

 <?php
var_dump(imagefontwidth(6)); // bool(false)
?>

ထို့ကြောင့်, ဥပဒေရေးရာစာလုံးအရေအတွက်ကိုသေချာအောင်လုပ်ပါ။

2 ။ Built-in ဖောင့်ကန့်သတ်ချက်များ

ImageFontwidth () GD စာကြည့်တိုက်တွင်တည်ဆောက်ထားသောဖောင့်များဖြင့်သာအလုပ်လုပ်သည်။ အကယ်. သင်သည် isionettext () စိတ်ကြိုက်ဖောင်များကိုတင်ရန် function များကိုအသုံးပြုပါက imagefontwidth () ကို width ကို 0 င်ရန်မသုံးနိုင်ပါ။ စာသားအကျယ်ကိုအခြားနည်းများဖြင့်တွက်ချက်ရမည်

3 ။ ကွဲပြားခြားနားသော operating systems

ကွဲပြားခြားနားသော operating systems တွင် GD စာကြည့်တိုက်တွင်အကောင်အထည်ဖော်မှုကွဲပြားမှုများကြောင့် Font Width တန်ဖိုးများသည်ရှားပါးသောအခြေအနေများတွင်အနည်းငယ်ကွဲပြားနိုင်သည်, သို့သော်ယေဘုယျအားဖြင့်အဆင်အပြင်ကိုမထိခိုက်ပါ။


4 ။ လက်တွေ့ကျသောဥပမာများ

imagefontwidth () ကိုအသုံးပြုပြီး string ၏အကျယ်ကိုမည်သို့တွက်ချက်ရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

 <?php
header('Content-Type: image/png');

$img_width = 200;
$img_height = 50;
$image = imagecreatetruecolor($img_width, $img_height);

$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);

imagefill($image, 0, 0, $white);

$text = "Hello PHP";
$font = 3;

$font_width = imagefontwidth($font);
$text_width = strlen($text) * $font_width;

$x = ($img_width - $text_width) / 2;
$y = ($img_height - imagefontheight($font)) / 2;

imagestring($image, $font, $x, $y, $text, $black);

imagepng($image);
imagedestroy($image);
?>

ဤနေရာတွင်ကျွန်ုပ်တို့သည် imagefontwidth () နှင့် imagefonfontheight () နှင့် imagefonfontheight () ကို အသုံးပြုသည်။ စာသား၏အလျားလိုက်နှင့်ဒေါင်လိုက်ဗဟိုပြုရန်အလျားလိုက်နှင့်ဒေါင်လိုက်စင်တာကိုရရှိရန်အတွက် string ကိုတွက်ချက်ရန်။


5 ။ အကျဉ်းချုပ်

ထင်မြင်ချက် အဓိကအပြုအမူ မှတ်သားရန်အရာ
PHP 5.x ပုံသေ font font width, တည်ငြိမ်သော, အဓိကပြောင်းလဲမှုမရှိပါ
PHP 7.x အခြေခံအားဖြင့်အပြောင်းအလဲမရှိပါ, အခြေခံပုံစံလိုအပ်ကြောင်း, GD စာကြည့်တိုက်ကိုညှိနှိုင်းဆောင်ရွက်သည် အမှားအယွင်းများကိုရှောင်ရှားရန် GD စာကြည့်တိုက်ကိုအဆင့်မြှင့်တင်ပါ
PHP 8.x features features ကိုသဟဇာတစောင့်ရှောက်ရန်တိုးမြှင့်အမျိုးအစားစစ်ဆေးခြင်း အဆိုပါ parameters တွေကိုကိန်းဖြစ်ရမည်, အမှားကပိုထင်ရှားပါတယ်

ImageFontwidth () GD Image Processing အတွက်အခြေခံနှင့်ရိုးရှင်းသော function ကိုဖြစ်ပါတယ်။ ၎င်းသည်ထင်ပေါ်ကျော်ကြားမှုရှိပုံရသော်လည်း၎င်း၏ဆင်ခြင်တုံတရားသည် developer များကစာသားဆွဲခြင်းအကျိုးသက်ရောက်မှုကိုပိုမိုတိကျစွာထိန်းချုပ်ရန်ကူညီနိုင်သည်။


အကယ် . သင်အသုံးပြုစဉ်အတွင်းဗားရှင်းသဟဇာတကိစ္စရပ်များကိုသင်ကြုံတွေ့ရပါက,


 // ဥပမာ URL အသုံးပြုမှု m66.net အစားထိုးဒိုမိန်းအမည်သရုပ်ပြ
$url = "https://m66.net/example/path";
echo "<a href=\"$url\">ဥပမာကိုရယူရန်ကိုနှိပ်ပါ</a>";