လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စာသားသည်ပုံအကွာအဝေးထက်ကျော်လွန်မနေဆုံးဖြတ်ရန် Imagesx () နှင့်ပေါင်းစပ်ထားသည်

စာသားသည်ပုံအကွာအဝေးထက်ကျော်လွန်မနေဆုံးဖြတ်ရန် Imagesx () နှင့်ပေါင်းစပ်ထားသည်

M66 2025-06-03

PHP Image Processing တွင်စာသားကိုပုံပေါ်၌ရေးဆွဲရန်နှင့်စာသားသည်ပုံ၏နယ်နိမိတ်ထက်မကျော်နိုင်ကြောင်းမကြာခဏလိုအပ်လေ့ရှိသည်။ ဤဆောင်းပါးသည်စာသားအကျယ်အပြည့်အစုံကိုသေချာစေရန်စာသား အကျယ် ပုံသဏ္ဌာန်ပုံ သည် ပုံရိပ်၏အကွာအဝေးထက်ကျော်လွန်သည်ကိုဆုံးဖြတ်ရန်ဤဆောင်းပါးသည်မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။


1 ။ နိဒါန်း

  • ImageFontwidth ($ font)
    ဤလုပ်ဆောင်မှုသည်သတ်မှတ်ထားသော built-in font ( font font ) တွင်စာလုံးတစ်လုံးတည်း၏အကျယ် (ယူနစ် - pixels) ကိုပြန်ပို့သည်။ PHP အတွက် built-in ဖောင့်ငါးခုရှိပြီးနံပါတ်ပိုများလေရာတွင်စာလုံးကြီးကြီးရှိသည်။

  • Imagesx ($ Image)
    ပုံကိုအကျယ် (ယူနစ်: pixels) ကိုပြန်ပို့သည်။


2 ။ အကောင်အထည်ဖော်မှုစိတ်ကူးများ

  1. ပုံအကျယ် ( Imagesx () ) ကိုရရှိသည်။

  2. ဇာတ်ကောင်တစ်ခုစီ၏အကျယ် ( imagefontwidth () ) ကိုရရှိသည်။

  3. စာသား၏အပိုဒ်တစ်ခုလုံး၏အပိုဒ်တစ်ခုလုံးကိုသိမ်းပိုက်ထားသည့်အကျယ်ကိုတွက်ချက်ပါ။

  4. စာသားအကျယ် image width ထက်ကျော်လွန်ရှိမရှိဆုံးဖြတ်ပါ။


3 ။ နမူနာကုဒ်

 <?php
// တစ် width ကိုဖန်တီးပါ200px,အမြင့်50pxအလွတ်
$image = imagecreate(200, 50);

// နောက်ခံအရောင်များကိုသတ်မှတ်ပါ(အဖြူ)
$bgColor = imagecolorallocate($image, 255, 255, 255);

// စာသားအရောင်ထားပါ(မဲသော)
$textColor = imagecolorallocate($image, 0, 0, 0);

// ဇာတ်ကောင်အကြောင်းအရာများ
$text = "Hello, world!";

// built-in ဖောင့်များကိုရွေးချယ်ပါ,အကျယ်ည1-5
$font = 3;

// ပုံအကျယ်တွက်ချက်ပါ
$imageWidth = imagesx($image);

// တစ်ခုတည်းဇာတ်ကောင်အကျယ်တွက်ချက်
$charWidth = imagefontwidth($font);

// စုစုပေါင်းစာသားအကျယ်တွက်ချက်
$textWidth = strlen($text) * $charWidth;

// စာသား image အကျယ်ထက်ကျော်လွန်ရှိမရှိဆုံးဖြတ်ပါ
if ($textWidth > $imageWidth) {
    echo "文字宽度超出图像အကျယ်ည!";
} else {
    echo "文字宽度在图像အကျယ်ည内,ပုံမှန်ပြသနိုင်သည်。";
    // စာသားကိုပုံပေါ်ဆွဲပါ,စင်တာမျက်နှာပြင်
    $x = ($imageWidth - $textWidth) / 2;
    $y = (imagesy($image) - imagefontheight($font)) / 2;
    imagestring($image, $font, $x, $y, $text, $textColor);
    
    // output ကိုပုံ
    header("Content-Type: image/png");
    imagepng($image);
}

// ပုံရိပ်အရင်းအမြစ်များကိုလွှတ်ပါ
imagedestroy($image);
?>

4 ။ ဖော်ပြချက်

  • Code တွင် ImageFontwidth ($ font) သည် စာလုံးတစ်လုံးတည်း၏အကျယ်ကိုပြန်ပို့သည်။

  • ပုံ၏အကျယ်ကို ပုံရိပ် ($ Image) ဖြင့် 0 ယ်ခြင်းအားဖြင့်သင်သည် two နှစ်ခုကိုနှိုင်းယှဉ်ခြင်းအားဖြင့်စာသားပုံရိပ်ကျော်လွန်လိမ့်မည်ကိုသင်ဆုံးဖြတ်နိုင်သည်။

  • အကယ်. စာသားသည်ရှည်လျားလွန်းပါကစာလုံးအရွယ်အစားကိုလျှော့ချခြင်းသို့မဟုတ်စာသားကိုဖြတ်ခြင်းသို့မဟုတ်ပုံသဏ္ဌာန်ကိုချိန်ညှိရန်စဉ်းစားနိုင်သည်။

  • ဥပမာတွင် ပုံသဏ္ဌာန် () function သည်စာသားကိုပုံပေါ်သို့ဆွဲရန်အသုံးပြုသည်။ $ X နှင့် parameters များရှိ $ y ကိုသွဒီနိတ်များသည်စာသားကိုအလျားလိုက်နှင့်ဒေါင်လိုက်ဗဟိုပြုခွင့်ပြုရန်ခွင့်ပြုရမည်။


5 ။ နိဂုံးချုပ်

ImageFontwidth () နှင့် Imagesx () functions များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်စာသားအကျယ်သည်လက်ရှိပုံရိပ်အတွက်သင့်တော်ပါသလား။ ၎င်းသည်ရုပ်ပုံများကိုစာသားဖြင့်ထုတ်လွှင့်သောကုဒ်များ, ပိုစတာများစသည်တို့ကဲ့သို့စာသားများထုတ်လုပ်ခြင်းအတွက်အလွန်လက်တွေ့ကျသည်။