လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင်စာသားမြေပုံများပြုလုပ်ခြင်း၏အကျိုးသက်ရောက်မှုကိုရရှိရန် ImageFontwidth () နှင့်စိတ်ကူးယဉ်ခြင်း () functions များကိုပေါင်းစပ်ရန်မည်သို့အသုံးပြုရမည်နည်း။

PHP တွင်စာသားမြေပုံများပြုလုပ်ခြင်း၏အကျိုးသက်ရောက်မှုကိုရရှိရန် ImageFontwidth () နှင့်စိတ်ကူးယဉ်ခြင်း () functions များကိုပေါင်းစပ်ရန်မည်သို့အသုံးပြုရမည်နည်း။

M66 2025-06-15

PHP တွင်အသုံးပြုသော GD စာကြည့်တိုက်သည်ပုံမှန်အားဖြင့်ပုံရိပ်များကိုပိုမိုကောင်းမွန်စေသည်။ ဤဆောင်းပါးသည်စာသားမြေပုံဆိုးများအောင်မြင်ရန် ImageFontwidth () နှင့် agrecopy () function များကိုပေါင်းစပ်အသုံးပြုရမည်ကိုအဓိကထားသည်။ စာသားမြေပုံကိုစာသားကိုသေးငယ်သောအပိုင်းအစများသို့မဟုတ်မြေပုံများသို့ "ဖြတ်" ရန်ဖြစ်သည်။ ထို့နောက်ပိုမိုပြောင်းလွယ်ပြင်လွယ်သောစာသားအသုံးအနှုန်းပုံစံကိုရရှိရန် Target Poice ပေါ်သို့ splice လုပ်ရန်ဖြစ်သည်။


1 ။ နိဒါန်း

  • ImageFontwidth (INT $ font): Int
    Built-in font character width ကိုပြန်ပို့ပါ။ $ font သည် 1-5 ဖြင့်အက်ခရာအရွယ်အစားခွဲခြားသတ်မှတ်ခြင်းဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်စာသား၏အကျယ်ကိုဆုံးဖြတ်ရန်နှင့် splicing အနေအထားတွက်ချက်မှုကိုလွယ်ကူချောမွေ့စေရန်အတွက်အသုံးဝင်သည်။

  • imagecopy (အရင်းအမြစ် $ dst_im, အရင်းအမြစ် $ src_im, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ src_y, int $ Src_y
    အရင်းအမြစ်ပုံရိပ်ရှိ image ရိယာတစ်ခုစီကိုသတ်မှတ်ထားသောပုံရိပ်၏တည်နေရာသို့ကူးယူပါ။ တစ် ဦး ချင်းစီဇာတ်ကောင်တစ် ဦး ချင်းစီကိုကူးယူသို့မဟုတ်ကူးယူရန်သို့မဟုတ်စာသားအစိတ်အပိုင်းများကိုဖြတ်ဖို့အသုံးပြုနိုင်ပါတယ်။


2 ။ စာသားစတစ်ကာများအောင်များအတွက်စိတ်ကူးများ

  1. လိုအပ်သောစာသားပါ 0 င်သည့်အရင်းအမြစ်ပုံရိပ်ကိုပြင်ဆင်ပါ (များသောအားဖြင့်စာသားကိုသေးငယ်သည့်ရုပ်ပုံတွင်ရေးထားသည်) ။

  2. စာလုံးများနှင့်ဇာတ်ကောင်အရေအတွက်အရဇာတ်ကောင် by-character characters များကိုအရင်းအမြစ်ပုံရိပ်မှယူသည်။

  3. အက္ခရာစဉ်များကို copy လုပ်ထုံးလုပ်နည်း () function ကို ဖြတ်. through function ကို ဖြတ်. ပစ်မှတ်ပုံရိပ်၏သတ်မှတ်ထားသောအနေအထားသို့ကူးယူပါ။

  4. ဆိုနိုင်ပါတယ်စာသားမြေပုံအကျိုးသက်ရောက်မှုအောင်မြင်ရန်အနေအထားသတ်မှတ်ချက်များကိုချိန်ညှိပါ။


3 ။ နမူနာကုဒ်သရုပ်ပြ

 <?php
// ပစ်မှတ်ပုံရိပ်တစ်ခုဖန်တီးပါ(အဖြူရောင်နောက်ခံ)
$dst_width = 300;
$dst_height = 50;
$dst_im = imagecreatetruecolor($dst_width, $dst_height);
$white = imagecolorallocate($dst_im, 255, 255, 255);
imagefill($dst_im, 0, 0, $white);

// အရင်းအမြစ်မြေပုံ,ဒါဟာစာသားကိုယူဆ"HELLO"တင်ဆက်မှုများ,အကျယ်နှင့်အမြင့်သည်ဇာတ်ကောင်တစ်ခုစီ၏အကျယ်ဖြစ်သည်*ဇာတ်ကောင်နံပါတ်နှင့်ဇာတ်ကောင်အမြင့်
// ၎င်းကိုအသုံးပြုသောအခါစာသားအပြည့်ပါ 0 င်သည့်ရုပ်ပုံအရင်းအမြစ်ကိုသင်ပြင်ဆင်ရန်လိုအပ်သည်။
$src_im = imagecreatefrompng('http://m66.net/images/letters.png');

// စာလုံးအရွယ်အစားကိုသတ်မှတ်ပါ(built-in ဖောင့်များ,1-5)
$font = 5;
$char_width = imagefontwidth($font);
$char_height = imagefontheight($font);

// ပို့စ်တင်ရန်စာသား
$text = "HELLO";
$len = strlen($text);

// စာသားရဲ့ starting အနေအထားကိုတွက်ချက်,စာသားကိုစင်တာ
$start_x = ($dst_width - $char_width * $len) / 2;
$start_y = ($dst_height - $char_height) / 2;

// အက်ခရာ - by-character copy
for ($i = 0; $i < $len; $i++) {
    $char = $text[$i];
    // ASCIIစိတ်တေစေ,假设အရင်းအမြစ်မြေပုံ文字排列是从'A'စဉ်ဆက်မပြတ်စီစဉ်ရန်စတင်ပါ
    $offset = ord($char) - ord('A');
    $src_x = $offset * $char_width;
    $src_y = 0;

    // ပစ်မှတ်ဂရပ်မှဇာတ်ကောင်တစ်ခုတည်းကိုကူးယူပါ
    imagecopy(
        $dst_im, 
        $src_im, 
        $start_x + $i * $char_width, 
        $start_y, 
        $src_x, 
        $src_y, 
        $char_width, 
        $char_height
    );
}

// output ကိုပုံ
header('Content-Type: image/png');
imagepng($dst_im);

// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($dst_im);
imagedestroy($src_im);
?>

4 ။ ရှင်းပြချက်နှင့်ချဲ့ထွင်ခြင်း

  • ဤဥပမာသည်စာသားရုပ်ပစ္စည်းပုံ ( itters.png ) သည်စာလုံးအရေအတွက်နှင့်စာလုံးအမြင့်ဖြင့်မြှောက်ထားသည့်စာလုံးအမြင့်နှင့်အမြင့်များအမြင့်နှင့်ပြည့်နှက်နေသောအက္ခရာများနှင့်အတူအလျားလိုက်စာဖြင့်စီစဉ်ထားသည့်စာများနှင့်အတူစာဖြင့်ရေးသားထားသောပုံတစ်ပုံဖြစ်သည်ဟုယူဆသည်။

  • imagefontwidth () နှင့် imagefonfonteight () အက်ခရာများ၏အကျယ်နှင့်အမြင့်ကိုတိကျစွာရရှိရန်အတွက်စာလုံးပေါင်းကိုပိုမိုလွယ်ကူစွာကူးယူရန်ကူညီသည်။

  • အကယ်. စာသားအကြောင်းအရာသည်ရှုပ်ထွေးသောအခါ, accordttext () ကို မပြုပြင်မီ font ကိုသုံးရန်သို့မဟုတ် agecopyrentsampled () ကိုသုံးနိုင်သည်။

  • ဤနည်းလမ်းဖြင့်သင်စိတ်ဝင်စားဖွယ်ကောင်းသောစာသားကာတွန်းသက်ရောက်မှုများ, အက်ခရာအပိုင်းအစမြေပုံများနှင့်စိတ်ကြိုက်ခင်းစိတ်ပင်ပင်ပင်ဖန်တီးနိုင်သည်။