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

စာသားလူကြိုက်များကိုဖန်တီးသောအခါ imagefontwidth () ကိုတိကျစွာအနေအထားသို့သုံးပါ

M66 2025-06-05

PHP နှင့်အတူ image matermarks များကိုဖန်တီးသောအခါကျွန်ုပ်တို့သည်စာသားကိုမှန်ကန်သောထောင့်သို့မဟုတ်စင်တာကဲ့သို့ပုံရိပ်ရှိသတ်သတ်မှတ်မှတ်နေရာများတွင်တိကျစွာပေါ်လာလိုသည်။ သို့သော်အသျှင်ပုလင်း၏အရွယ်အစားနှင့်အကျင့်စာရိတ္တ၏အရွယ်အစားကြောင့်ရေစာ၏အနေအထားကိုတွက်ချက်ခြင်းကြောင့်မကြာခဏဒုက္ခသည်ဖြစ်လာသည်။ ကံကောင်းထောက်မစွာပင် PHP ၏ imagefontwidwidth () function သည်အထူးသဖြင့်စာသားအကျယ်ကိုတိကျမှန်ကန်စွာတွက်ချက်ရန်ကူညီနိုင်သည့် built-in fonts များကိုအသုံးပြုသောအခါကျွန်ုပ်တို့အတွက်ဤပြ problem နာကိုဖြေရှင်းနိုင်သည်။

ImageFontwidth ဆိုတာဘာလဲ။

ImageFontwidth () သည် pixel ၏ pixel library function များထဲမှတစ်ခုဖြစ်သည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 int imagefontwidth(int $font);

ဤလုပ်ဆောင်ချက်သည် 1 မှ 5 ကဲ့သို့သော GD စာကြည့်တိုက်တွင်တည်ဆောက်ထားသောဖောင့်များအတွက်သာသင့်လျော်သည်။ အကယ်. သင်သည် ttf font ကို imagetttext () ဖြင့်တင်ထားသော ttf font ကိုအသုံးပြုနေပါကအရွယ်အစားကိုတွက်ချက်ရန် imagettfbox () ကို သုံးပါ။

မကြာခဏစာသားရေစာဆင်းစောင့်ရှောက်ရေးနှင့်ပတ်သက်။ မကြာခဏမေးထားသောမေးခွန်းများ

စာသားရေစာများကိုပုံသို့ထည့်သောအခါ, ကျွန်ုပ်တို့၏သွဒီနိတ်များကိုဆုံးဖြတ်ရန်ရေစာ အကျယ်အ မြင့်ကို ရှင်းလင်းရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, သင်သည်ရေကိုညာဘက်အောက်ထောင့်တွင်ပေါ်လာလိုပါက,

သို့သော်လူအများစုကလူအများစုသည် string အရှည်ကိုမတိကျသောကျယ်ပြန့်သော width ကိုရည်ညွှန်းသည်။ ဖောင့်တစ်ခုစီ၏ဇာတ်ကောင်အကျယ်မှာကွဲပြားခြားနားနိုင်ပြီးတူညီသောစာလုံးများနှင့်ကွဲပြားခြားနားသောဇာတ်ကောင်အကျယ် (အထူးသဖြင့် monospace fonts and widen fonts) ကွဲပြားနိုင်သည်။

တိကျသောကိုက်ခြင်းအောင်မြင်ရန် imagefontwidth () ကိုသုံးပါ

တိကျတဲ့ဥပမာတစ်ခုကိုကြည့်ကြစို့။ ကျွန်ုပ်တို့သည် "မူပိုင် M66.net" ၏ညာဘက်အောက်ထောင့်ရှိစာသားကိုထည့်လိုပါသည်။

 <?php
// ဓာတ်ပုံများတင်နေသည်
$image = imagecreatefromjpeg('background.jpg');

// font နံပါတ်နှင့်စာသားကိုသတ်မှတ်ပါ
$font = 4; // built-in ဖောင့်နံပါတ် 1-5
$text = 'မူပိုင်ခွင့်ကိုလက်ဝယ်ထားသည် m66.net';

// စာသားအကျယ်နှင့်အမြင့်ကိုရယူပါ
$textWidth = imagefontwidth($font) * strlen($text);
$textHeight = imagefontheight($font);

// ပုံရိပ်အရွယ်အစားကိုရယူပါ
$imageWidth = imagesx($image);
$imageHeight = imagesy($image);

// စာသားအရောင်ထားပါ(အဖြူ)
$textColor = imagecolorallocate($image, 255, 255, 255);

// စာသား၏ဘယ်ဘက်အပေါ်ထောင့်ကိုသွဒီနန်ကိုတွက်ချက်ပါ(အောက်ခြေညာဘက်ထောင့်မှာ offset10pixels)
$x = $imageWidth - $textWidth - 10;
$y = $imageHeight - $textHeight - 10;

// စာသားရေးပါ
imagestring($image, $font, $x, $y, $text, $textColor);

// output ကိုပုံ
header('Content-Type: image/jpeg');
imagejpeg($image);

// အရင်းအမြစ်များကိုဖျက်ဆီးသည်
imagedestroy($image);
?>

ဤကုဒ်တွင် imagefontwidth ($ font) သည် ဇာတ်ကောင်တစ် ဦး ချင်းစီ၏အကျယ်ကိုပြန်လည်ရောက်ရှိစေပြီး strlen ($ text) သည် စာလုံးအရေအတွက်ကိုပြန်မြှောက်ရန်, ထို့နောက်ပုံသဏ္ဌာန်မှစာသားအကျယ်နှင့်မာဂျင်များကိုနုတ်ပါ။ အောက်ပိုင်းညာဘက်ထောင့်၏အသေးစိတ်ကိုကျွန်ုပ်တို့ရရှိသည်။

အကျဉ်းချုပ်

ImageFontwidth () သည် GD built-in ဖောင့်များကို သုံး. ရေစာပတ် 0 န်းကျင်ကိုကိုင်တွယ်သောအခါသင့်အားပိုမိုတိကျသောဖြစ်ရန်လွယ်ကူသည်။ imagefonteight () တွင်မည်သည့်အနေအထားကိုမဆိုတိကျစွာထိန်းချုပ်နိုင်သည်။ ပိုမိုရှုပ်ထွေးသောစာသားပြန်ဆိုချက်များကိုပိုမိုရှုပ်ထွေးသော TTF ဖော င့ ်များကိုအသုံးပြုခြင်းကဲ့သို့သောအခြေအနေများလိုအပ်သည့်အခြေအနေများအတွက်ရှုပ်ထွေးသောနယ်နိမိတ်တွက်ချက်မှုများအတွက်စဉ်းစားပါ။

imagefontwidth () imagefonfonfleight ကိုအသုံးပြုခြင်း () ပုံရိပ်များအတွက်ရေစာများထည့်သွင်းကြပါစို့,