PHP Image Processing တွင်စာသားကိုပုံပေါ်၌ရေးဆွဲရန်နှင့်စာသားသည်ပုံ၏နယ်နိမိတ်ထက်မကျော်နိုင်ကြောင်းမကြာခဏလိုအပ်လေ့ရှိသည်။ ဤဆောင်းပါးသည်စာသားအကျယ်အပြည့်အစုံကိုသေချာစေရန်စာသား အကျယ် ပုံသဏ္ဌာန်ပုံ သည် ပုံရိပ်၏အကွာအဝေးထက်ကျော်လွန်သည်ကိုဆုံးဖြတ်ရန်ဤဆောင်းပါးသည်မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ImageFontwidth ($ font)
ဤလုပ်ဆောင်မှုသည်သတ်မှတ်ထားသော built-in font ( font font ) တွင်စာလုံးတစ်လုံးတည်း၏အကျယ် (ယူနစ် - pixels) ကိုပြန်ပို့သည်။ PHP အတွက် built-in ဖောင့်ငါးခုရှိပြီးနံပါတ်ပိုများလေရာတွင်စာလုံးကြီးကြီးရှိသည်။
Imagesx ($ Image)
ပုံကိုအကျယ် (ယူနစ်: pixels) ကိုပြန်ပို့သည်။
ပုံအကျယ် ( Imagesx () ) ကိုရရှိသည်။
ဇာတ်ကောင်တစ်ခုစီ၏အကျယ် ( imagefontwidth () ) ကိုရရှိသည်။
စာသား၏အပိုဒ်တစ်ခုလုံး၏အပိုဒ်တစ်ခုလုံးကိုသိမ်းပိုက်ထားသည့်အကျယ်ကိုတွက်ချက်ပါ။
စာသားအကျယ် image width ထက်ကျော်လွန်ရှိမရှိဆုံးဖြတ်ပါ။
<?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);
?>
Code တွင် ImageFontwidth ($ font) သည် စာလုံးတစ်လုံးတည်း၏အကျယ်ကိုပြန်ပို့သည်။
ပုံ၏အကျယ်ကို ပုံရိပ် ($ Image) ဖြင့် 0 ယ်ခြင်းအားဖြင့်သင်သည် two နှစ်ခုကိုနှိုင်းယှဉ်ခြင်းအားဖြင့်စာသားပုံရိပ်ကျော်လွန်လိမ့်မည်ကိုသင်ဆုံးဖြတ်နိုင်သည်။
အကယ်. စာသားသည်ရှည်လျားလွန်းပါကစာလုံးအရွယ်အစားကိုလျှော့ချခြင်းသို့မဟုတ်စာသားကိုဖြတ်ခြင်းသို့မဟုတ်ပုံသဏ္ဌာန်ကိုချိန်ညှိရန်စဉ်းစားနိုင်သည်။
ဥပမာတွင် ပုံသဏ္ဌာန် () function သည်စာသားကိုပုံပေါ်သို့ဆွဲရန်အသုံးပြုသည်။ $ X နှင့် parameters များရှိ $ y ကိုသွဒီနိတ်များသည်စာသားကိုအလျားလိုက်နှင့်ဒေါင်လိုက်ဗဟိုပြုခွင့်ပြုရန်ခွင့်ပြုရမည်။
ImageFontwidth () နှင့် Imagesx () functions များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်စာသားအကျယ်သည်လက်ရှိပုံရိပ်အတွက်သင့်တော်ပါသလား။ ၎င်းသည်ရုပ်ပုံများကိုစာသားဖြင့်ထုတ်လွှင့်သောကုဒ်များ, ပိုစတာများစသည်တို့ကဲ့သို့စာသားများထုတ်လုပ်ခြင်းအတွက်အလွန်လက်တွေ့ကျသည်။