ပုံဆွဲခြင်းစာသားသည် PHP image processing extension GD စာကြည့်တိုက်တွင်ဘုံလိုအပ်ချက်ဖြစ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်စာသားဆွဲရန် စိတ်ကူးယဉ် () သို့မဟုတ် agouettext () ကို အသုံးပြုသည်။ Pixel အဆင့်တွင်စာသားအနေအထားကိုတိကျစွာထိန်းချုပ်လိုပါကအထူးသဖြင့်စိတ်ကြိုက်ချိန်ညှိချက်များသည် ပုံfutwidth () နှင့် Imagesetpixel () နှင့် Imagesetpixel () နှင့် Imagesetpixel () နှင့် ImagesetPixel () နှင့် Imagesetpixel () နှင့် ImagesetPixel () ကို ပေါင်းစပ်နိုင်သည်။
ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုနှစ်ခု၏အခန်းကဏ် prains ကိုမိတ်ဆက်ပေးလိမ့်မည်။ စာသားပုံဆွဲခြင်းနှင့်လက်စွဲစာအုပ်ကိုလက်စွဲစာအုပ်နှင့်ကိုက်ညီစေရန်၎င်းတို့ကိုမည်သို့အသုံးပြုရမည်နည်း။
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 အရှည်ကိုသင်ခန့်မှန်းနိုင်ပြီးချိန်ညှိမှုကိုညှိနိုင်သည်။
Imagesetpixel () function ကိုသတ်မှတ်ထားသောပုံသဏ် into ာရေးအရင်းအမြစ်တွင် pixel တစ်ခု၏အရောင်တန်ဖိုးကိုသတ်မှတ်ရန်အသုံးပြုသည်။
bool imagesetpixel(resource $image, int $x, int $y, int $color);
$ Image : Image image အရင်းအမြစ်။
$ x, $ y : pixel အမှတ်၏သွဒီနိတ်။
$ အရောင် : အရောင်အညွှန်းကိန်းသို့မဟုတ် RGB အရောင်။
ဆိုလိုသည်မှာကျွန်ုပ်တို့သည်စာသား၏အနေအထားကို pixel လည်ပတ်ခြင်းဖြင့်စိတ်ကြိုက်ပြုပြင်နိုင်ပြီးပိုမိုတိကျသောစာသားအပြင်အဆင်ကိုရရှိရန်၎င်းကိုပင်ညှိနိုင်သည်။
များသောအားဖြင့်ကျွန်ုပ်တို့သည်စာသားဆွဲသောအခါ, စင်တာ, ဘယ်ဘက်, ညာ, စာလုံးအရွယ်အစားနှင့်စာသားအရှည်အရအလုံးစုံအနေအထားကိုသာခန့်မှန်းနိုင်သည်။ သို့သော်ပိုမိုကောင်းမွန်စွာညှိနှိုင်းမှုများလိုအပ်သည့်အခါ (ဥပမာ - ဇာတ်ကောင်တစ် ဦး ချင်းစီ၏အနေအထားရာထူးများ, တုန်လှုပ်စေသောအစီအစဉ်များ, တုန်လှုပ်စေသော အစီအစဉ်များ ,
ဥပမာစိတ်ကူးများ:
Font Width ကိုရယူရန်နှင့်စာသားတစ်ခုလုံး၏ pixel အကျယ်ကိုတွက်ချက်ရန် imagefontwidth () ကိုသုံးပါ။
(ဥပမာ - စင်တာ alignment) ကဲ့သို့သောလိုအပ်ချက်အပေါ် အခြေခံ. စာသား၏စမှတ်၏ x ကိုသွဒီနိတ်ကိုတွက်ချက်ပါ။
string တစ်ခုချင်းစီမှတစ်ဆင့်အရာတစ်ခုစီမှတစ်ဆင့်ကွင်းဆက်တစ်ခုကိုသုံးပါ။
အက္ခရာများကိုအရင်ဆွဲရန် ပုံခြေဆေးကို သုံးပါ။
သို့မဟုတ် position ကိုညှိရန်အပို pixels များကိုထည့်ခြင်းကဲ့သို့သောစာလုံးများကိုညှိရန် imagesetpixel () ကိုသုံးပါ။
pixel တစ်ခုတည်းကို operating လုပ်ခြင်းအားဖြင့်အသေးစိတ်နေရာရွှေ့ပြောင်းခြင်းနှင့် alignment အကျိုးသက်ရောက်မှုကိုအောင်မြင်သည်။
အောက်ပါဥပမာတွင်စာသားအစ မှစတင်. စာသားကိုမည်သို့တွက်ချက်ရမည်, စင်တာနှင့်ကိုက်ညီမှုရှိရန်နှင့်စာသား၏အစွန်း 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);
?>
ImageFontwidth () သည် built-in font width ကိုနားလည်ရန်နှင့်စာသားအရှည်နှင့်အနေအထားကိုတွက်ချက်ရန်အဓိကသော့ချက်ဖြစ်သည်။
Imagesetpixel () သည် ပိုမိုပြောင်းလွယ်ပြင်လွယ်သောစာသားသက်ရောက်မှုကိုရရှိရန်ပြီးစီးပြီးနောက်ပြီးစီးပြီးနောက်ညှိနှိုင်းမှုပြီးဆုံးသွားသောသို့မဟုတ်အလှဆင်နိုင်သည်။
နှစ်ခုကိုပေါင်းစပ်ပြီး text layout ကို customized လိုအပ်သောလိုအပ်ချက်များကိုဖြည့်ဆည်းရန်စာသားအပြင်အဆင်ကိုဇာတ်ကောင်ပုံဆွဲခြင်းနှင့် pixel-by-pixel လည်ပတ်မှုကိုတိတိကျကျထိန်းချုပ်နိုင်သည်။
ဤနည်းစနစ်သည်အထူးသဖြင့်ပုံတူစာသားများနှင့်ရှုပ်ထွေးသောလိုအပ်ချက်များနှင့်ရှုပ်ထွေးသောစာအိတ်များနှင့်အတူမြင်ကွင်းများကိုပြန်ဆိုခြင်းအတွက်သင့်တော်သည်။