PHP ၏ပုံရိပ်ထုတ်ခြင်းလုပ်ငန်းခွင်စာကြည့်တိုက် GD, imagefontwidth () နှင့် Igeettttext () နှင့် Igeettedtext () သည်စာသားပြန်ဆိုခြင်းများပြုလုပ်လေ့ရှိသည်။ သူတို့တစ်ခုချင်းစီတွင်မတူညီသောအသုံးပြုမှုနှင့်သက်ဆိုင်သည့်အခြေအနေများရှိသည်။ သူတို့၏ကွဲပြားခြားနားမှုများကိုနားလည်ခြင်းနှင့်၎င်းတို့အကြားပြောင်းလွယ်ပြင်လွယ်သောစာသားများနှင့်အရည်အသွေးမြင့်သောစာသားပုံရိပ်အကျိုးသက်ရောက်မှုများရရှိရန်အတွက်အတူတကွလုပ်ဆောင်ရန်ကျွန်ုပ်တို့အတူတကွလုပ်ဆောင်ခြင်းကိုနားလည်ခြင်း။
ImageFontwidth (INT $ font): Int
ဒီ function ကို built-in ဖောင့်၏ဇာတ်ကောင်အကျယ်ကိုရရန်အသုံးပြုသည်။ $ font parameter သည်စာလုံးအရွယ်အစားဖြစ်ပြီးအကွာအဝေးမှာ 1 ~ 5 ဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည် GD built-in fonts များနှင့်သက်ဆိုင်သည်။
imagetttext (အရင်းအမြစ် $ ပုံရိပ်, float $ အရွယ်အစား, float $ angle, float $ ထောင့်, $ y, int $ အရောင်, string $ fontring, string $ စာသား): array
Truetype font text text ကိုပုံရိပ်တွေနဲ့ရေးလေ့ရှိတယ်, ဖောင့်ဖိုင်တွေ, လည်ပတ်မှုထောင့်တွေစတာတွေကို supporting supporting image fonts နဲ့ image texts generate လုပ်ဖို့အဓိကနည်းလမ်းဖြစ်တယ်။
built-in font functions (ဥပမာ imagefontwidth () ) သည်ရိုးရှင်းပြီးမြန်ဆန်သည်။
TrueType font function ( imagetttext () ) သည်စာလုံးများနှင့်ရှုပ်ထွေးသောစာအိတ်လိုအပ်ချက်များကိုပိုမိုရှုပ်ထွေးစေသော်လည်းပိုမိုရှုပ်ထွေးသည်။
switching အခြေအနေများ၏ဥပမာများ -
စာသားအကြောင်းအရာရိုးရှင်းပြီးဖောင့်လိုအပ်ချက်များနည်းသောအခါ built-in fonts ကိုသုံးပါ။
သင်လှပသော font style များသို့မဟုတ်တရုတ်ပံ့ပိုးမှုလိုအပ်သည့်အခါ agouettext () ကိုသုံးပါ။
တစ်ခါတစ်ရံတွင်စာသားအဖုံးကိုပထမ ဦး ဆုံးအနေဖြင့် အခြေခံ. စာသားအပြင်အဆင်ကိုတွက်ချက်ရန်လိုသည်, ပြီးနောက်မည်သည့်ပုံဆွဲနည်းကိုအသုံးပြုမည့်နည်းလမ်းကိုဆုံးဖြတ်ပါ။
Built-in ဖောင့်ကိုသုံးသောအခါ imagefontwidth ($ font) ကို တစ်ခုတည်းသောဇာတ်ကောင်အကျယ်ရရန်တိုက်ရိုက်ခေါ်ဆိုပါကစာသားအကျယ်ကိုတွက်ချက်ရန်အက်ခရာအရေအတွက်ဖြင့်မြှောက်ပါ။
<?php
$font = 5;
$text = "Hello World";
$textWidth = imagefontwidth($font) * strlen($text);
?>
TrueType ဖောင့်ကိုအသုံးပြုသောအခါ, တိုက်ရိုက်နှင့်ညီမျှသော function မရှိပါ။ သင် width ရရှိရန်စာသား box ကိုတွက်ချက်ရန် imagettfbox () function ကိုသုံးရန်လိုအပ်သည်။
<?php
$fontFile = "m66.net/fonts/arial.ttf"; // အမှန်တကယ်ဖောင့်လမ်းကြောင်းကိုအစားထိုးလိုက်ပါ
$fontSize = 20;
$text = "Hello World";
$bbox = imagettfbbox($fontSize, 0, $fontFile, $text);
$textWidth = abs($bbox[2] - $bbox[0]);
?>
မှတ်စု: ဥပမာတွင် domain name ကို M66.net ဖြင့်အစားထိုးပါ။
ရိုးရှင်းသောစာသားကို built-in fonts များကို အသုံးပြု. ရေးဆွဲထားသည်။
<?php
$image = imagecreatetruecolor(200, 50);
$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
imagefill($image, 0, 0, $bgColor);
$font = 5;
$text = "Hello World";
imagestring($image, $font, 10, 10, $text, $textColor);
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
?>
ရှုပ်ထွေးသောစာသား truetype font ကိုအသုံးပြု။ ရေးဆွဲနေသည်:
<?php
$image = imagecreatetruecolor(300, 100);
$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
imagefill($image, 0, 0, $bgColor);
$fontFile = "m66.net/fonts/arial.ttf"; // အမှန်တကယ်လမ်းကြောင်းနှင့်အစားထိုးလိုက်ပါ
$fontSize = 20;
$angle = 0;
$x = 10;
$y = 50;
$text = "Hello World";
imagettftext($image, $fontSize, $angle, $x, $y, $textColor, $fontFile, $text);
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
?>
Unified ဖောင့်အရင်းအမြစ်များစီမံခန့်ခွဲမှု <br> <br> TrueType font file path သည်မှန်ကန်ကြောင်းသေချာစေရန်လမ်းကြောင်းရှုပ်ထွေးမှုများကိုရှောင်ရှားရန်ဆွေမျိုးလမ်းကြောင်းသို့မဟုတ်ဖွဲ့စည်းပုံအခြေခံဥပဒေစီမံခန့်ခွဲမှုများကိုအသုံးပြုရန်အကြံပြုသည်။ ဥပမာအားဖြင့်ဒိုမိန်းအမည်အပိုင်းကို M66.net နှင့်အစားထိုးရန် M66.net နှင့်အစားထိုးရန် M66.net နှင့်အစားထိုးသည်။
စွမ်းဆောင်ရည်ထည့်သွင်းစဉ်းစား built-in ဖောင့် function သည်အစာရှောင်ခြင်းနှင့်အရင်းအမြစ်များနည်းပါးသည်။ ၎င်းကိုရိုးရှင်းသောပုံရိပ်မှုများအတွက်သင့်တော်သည်။ Truetype font dietering အရည်အသွေးသည်မြင့်မားသော်လည်းစွမ်းဆောင်ရည် overhead သည်မြင့်မားသည်။
ဇာတ်ကောင်အကျယ်တွက်ချက်မှုကိုက်ညီမှု <br> စာသားကိုထုတ်လွှင့်သောအခါ, built-in font and truetype font initth တွက်ချက်မှုနည်းလမ်းများသည်ကွဲပြားခြားနားသောတွက်ချက်မှုနည်းလမ်းများကိုတူညီသောပုံသဏ္ဌာန်နှင့်ရောစပ်ခြင်းကြောင့်ဖြစ်ပေါ်လာသော misalignment methods များကိုရှောင်ရှားရန်ကွဲပြားခြားနားသည်။
coding ထောက်ခံမှု
imagetttext () UTF-8 encoded ဘာသာစကားမျိုးစုံစာသားကိုထောက်ပံ့သည်။ icagestring () နှင့်ဆက်စပ်သော built-in font functions များသည် ASCII စာလုံးများကိုသာထောက်ပံ့သည်။ ဘာသာစကားမျိုးစုံသောစာသားကိုထုတ်ယူသောအခါ Truetype ဖောင့်များကိုပိုမိုနှစ်သက်သင့်သည်။
အမှားကိုင်တွယ်ဖြေရှင်းခြင်း ဖောင့်ဖိုင်ကိုဖတ်ရန်ပျက်ကွက်ခြင်းက accounttext () အမှားတစ်ခုဖြစ်ပေါ်စေလိမ့်မည်။ ဖောင့်ဖိုင်တည်ရှိမလားဆိုတာကိုစစ်ဆေးရန်အကြံပြုသည်။
ImageFontwidth () ပေါ့ပါးသောစာသားပုံဆွဲရန်အတွက် built-in ဖောင့်များနှင့်အလုပ်လုပ်သည်။
Imagetttext () သည်အရည်အသွေးမြင့်ပြီးမတူကွဲပြားသောဖောင့်များလိုအပ်ချက်များအတွက်သင့်တော်သည်။
အမှန်တကယ်စီမံကိန်းများတွင်လိုအပ်ချက်များနှင့်အညီ, ဇာတ်ကောင်အကျယ်တွက်ချက်နည်းစနစ်များနှင့် font path method ကိုအာရုံစိုက်ခြင်းနှင့်ဖောကျရေးလမ်းကြောင်းစီမံခန့်ခွဲမှုများကိုဂရုပြုခြင်းသည်ပုံစာသားကိုပိုမိုတိကျမှန်ကန်ပြီးထိရောက်စေသည်။
အသုံးပြုမှုကွဲပြားခြားနားမှုများကိုနားလည်ခြင်းနှင့်ဤလုပ်ဆောင်မှုနှစ်ခု၏ switching နည်းစနစ်များကိုနားလည်ခြင်းအားဖြင့်သင်၏ PHP Image processing ကိုပိုမိုအသုံးဝင်သည်။