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

imagesetpixel ဖြင့်စာသားပုံဆွဲခြင်း ()

M66 2025-06-05

ပုံဆွဲခြင်းစာသားသည် PHP image processing extension GD စာကြည့်တိုက်တွင်ဘုံလိုအပ်ချက်ဖြစ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်စာသားဆွဲရန် စိတ်ကူးယဉ် () သို့မဟုတ် agouettext () ကို အသုံးပြုသည်။ Pixel အဆင့်တွင်စာသားအနေအထားကိုတိကျစွာထိန်းချုပ်လိုပါကအထူးသဖြင့်စိတ်ကြိုက်ချိန်ညှိချက်များသည် ပုံfutwidth () နှင့် Imagesetpixel () နှင့် Imagesetpixel () နှင့် Imagesetpixel () နှင့် ImagesetPixel () နှင့် Imagesetpixel () နှင့် ImagesetPixel () ကို ပေါင်းစပ်နိုင်သည်။

ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုနှစ်ခု၏အခန်းကဏ် prains ကိုမိတ်ဆက်ပေးလိမ့်မည်။ စာသားပုံဆွဲခြင်းနှင့်လက်စွဲစာအုပ်ကိုလက်စွဲစာအုပ်နှင့်ကိုက်ညီစေရန်၎င်းတို့ကိုမည်သို့အသုံးပြုရမည်နည်း။


1 ။ Imagefontwidth ကိုနားလည်ပါ ()

ImageFontwidth () function ကိုသတ်မှတ်ထားသော built-in font တွင်ဇာတ်ကောင်၏ width (ယူနစ် - pixels) ကိုရရန်အသုံးပြုသည်။ GD စာကြည့်တိုက်သည် built-in fonts (1 ~ 5) နှင့်ပြည့်စုံသောစာလုံးများနှင့်ပြည့်စုံသောစာလုံးများနှင့်အမြင့်သည် font and and အမြင့်များကိုတပ်ဆင်ထားသည်။

 int imagefontwidth(int $font);
  • Parameter $ font : စာလုံးအရွယ်အစား 1 မှ 5 ။

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

ဥပမာအားဖြင့်:

 $font = 3;
$charWidth = imagefontwidth($font);
echo "font width ဖြစ်ပါတယ် $charWidth pixels";

ဤ width ဖြင့်စာသားမျဉ်းကြောင်းဆွဲရန်အတွက်လိုအပ်သော pixel အရှည်ကိုသင်ခန့်မှန်းနိုင်ပြီးချိန်ညှိမှုကိုညှိနိုင်သည်။


2 ။ Imagesetpixel ကိုနားလည်ပါ။

Imagesetpixel () function ကိုသတ်မှတ်ထားသောပုံသဏ် into ာရေးအရင်းအမြစ်တွင် pixel တစ်ခု၏အရောင်တန်ဖိုးကိုသတ်မှတ်ရန်အသုံးပြုသည်။

 bool imagesetpixel(resource $image, int $x, int $y, int $color);
  • $ Image : Image image အရင်းအမြစ်။

  • $ x, $ y : pixel အမှတ်၏သွဒီနိတ်။

  • $ အရောင် : အရောင်အညွှန်းကိန်းသို့မဟုတ် RGB အရောင်။

ဆိုလိုသည်မှာကျွန်ုပ်တို့သည်စာသား၏အနေအထားကို pixel လည်ပတ်ခြင်းဖြင့်စိတ်ကြိုက်ပြုပြင်နိုင်ပြီးပိုမိုတိကျသောစာသားအပြင်အဆင်ကိုရရှိရန်၎င်းကိုပင်ညှိနိုင်သည်။


3 ။ အကောင်အထည်ဖော်မှုစိတ်ကူး - လက်စွဲ alignment ကိုရရှိရန်နှစ်ခုကိုပေါင်းစပ်ပါ

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

ဥပမာစိတ်ကူးများ:

  1. Font Width ကိုရယူရန်နှင့်စာသားတစ်ခုလုံး၏ pixel အကျယ်ကိုတွက်ချက်ရန် imagefontwidth () ကိုသုံးပါ။

  2. (ဥပမာ - စင်တာ alignment) ကဲ့သို့သောလိုအပ်ချက်အပေါ် အခြေခံ. စာသား၏စမှတ်၏ x ကိုသွဒီနိတ်ကိုတွက်ချက်ပါ။

  3. string တစ်ခုချင်းစီမှတစ်ဆင့်အရာတစ်ခုစီမှတစ်ဆင့်ကွင်းဆက်တစ်ခုကိုသုံးပါ။

    • အက္ခရာများကိုအရင်ဆွဲရန် ပုံခြေဆေးကို သုံးပါ။

    • သို့မဟုတ် position ကိုညှိရန်အပို pixels များကိုထည့်ခြင်းကဲ့သို့သောစာလုံးများကိုညှိရန် imagesetpixel () ကိုသုံးပါ။

  4. pixel တစ်ခုတည်းကို operating လုပ်ခြင်းအားဖြင့်အသေးစိတ်နေရာရွှေ့ပြောင်းခြင်းနှင့် alignment အကျိုးသက်ရောက်မှုကိုအောင်မြင်သည်။


4 ။ နမူနာကုဒ်

အောက်ပါဥပမာတွင်စာသားအစ မှစတင်. စာသားကိုမည်သို့တွက်ချက်ရမည်, စင်တာနှင့်ကိုက်ညီမှုရှိရန်နှင့်စာသား၏အစွန်း pixels () စာသားကိုပုံရိပ်ထုတ်ဖော်ပြောဆိုခြင်း () ကို imagesetpixel () နှင့်ညှိနှိုင်းပါ။

 <?php
// a 300x100 ရုပ်ပုံများ
$img = imagecreatetruecolor(300, 100);

// နောက်ခံအရောင်ကိုသတ်မှတ်ပါ(အဖြူ)
$white = imagecolorallocate($img, 255, 255, 255);
imagefill($img, 0, 0, $white);

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

$text = "Hello GD!";
$font = 3; // built-in ဖောင့်များ

// တစ်ခုတည်းဇာတ်ကောင်အကျယ်နှင့်အမြင့်ကိုရယူပါ
$charWidth = imagefontwidth($font);
$charHeight = imagefontheight($font);

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

// တွက်ချက်မှုအဆင့်စင်တာကစမှတ် X ညီညာစေ
$startX = (imagesx($img) - $textWidth) / 2;
$startY = (imagesy($img) - $charHeight) / 2;

// လက်စွဲစာအုပ်,ဒဏ်ငွေကိုအကောင်အထည်ဖော်ပါ(如错开每个字一个pixels)
for ($i = 0; $i < strlen($text); $i++) {
    $char = $text[$i];
    // တစ်ခုချင်းစီကိုဇာတ်ကောင်များ၏အနေအထားကိုစတင်,တိုးမြှင့်လာသည် Y Axis offset တုန်လှုပ်စေသော
    $x = $startX + $i * $charWidth;
    $y = $startY + ($i % 2); // ထူးဆန်းနှင့်ပင်တုန်လှုပ်စေသော 1 pixels

    // အက္ခရာများဆွဲပါ
    imagestring($img, $font, $x, $y, $char, $black);

    // အပိုကောင်းသောကောင်းသောချိန်ညှိ:အသုံးပြု imagesetpixel() 给字符右下角加一个pixels点,တိုးမြှင့်လာသည်视觉效果
    imagesetpixel($img, $x + $charWidth - 1, $y + $charHeight - 1, $black);
}

// output ကိုပုံ
header("Content-Type: image/png");
imagepng($img);
imagedestroy($img);
?>

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

  • ImageFontwidth () သည် built-in font width ကိုနားလည်ရန်နှင့်စာသားအရှည်နှင့်အနေအထားကိုတွက်ချက်ရန်အဓိကသော့ချက်ဖြစ်သည်။

  • Imagesetpixel () သည် ပိုမိုပြောင်းလွယ်ပြင်လွယ်သောစာသားသက်ရောက်မှုကိုရရှိရန်ပြီးစီးပြီးနောက်ပြီးစီးပြီးနောက်ညှိနှိုင်းမှုပြီးဆုံးသွားသောသို့မဟုတ်အလှဆင်နိုင်သည်။

  • နှစ်ခုကိုပေါင်းစပ်ပြီး text layout ကို customized လိုအပ်သောလိုအပ်ချက်များကိုဖြည့်ဆည်းရန်စာသားအပြင်အဆင်ကိုဇာတ်ကောင်ပုံဆွဲခြင်းနှင့် pixel-by-pixel လည်ပတ်မှုကိုတိတိကျကျထိန်းချုပ်နိုင်သည်။

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