PHP ၏ပုံရိပ်ထုတ်ယူခြင်းလုပ်ဆောင်ချက်တွင် Impresstext () သည်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ developer များက developer များက custom fonts များကို အသုံးပြု. ရုပ်ပုံများပေါ်တွင်စာသားများကို အသုံးပြု. စိစစ်ရေးကုဒ်များ, ရုပ်ပုံများ, ပုံများ, သို့သော် developer များစွာသည် ImageFtText () ကိုအသုံးပြုသောအခါစာလုံးတွဲဖက်မှုနှင့်ဆက်စပ်သောပြ problems နာများကြုံတွေ့ရလိမ့်မည်။
ဤဆောင်းပါးသည်ဤပြ issues နာများကိုပြည့်စုံစွာရှင်းရှင်းလင်းလင်းဖော်ပြပြီးလက်တွေ့ကျသောဖြေရှင်းနည်းများကိုပေးလိမ့်မည်။
ImageFTHTEXT () သည် php encapsulated encapsulated စာကြည့်တိုက်သို့ Encapsulated interface ဖြစ်သည်။ Freetype သည်ကျယ်ပြန့်စွာအသုံးပြုသောဖောင့်အင်ဂျင်တစ်ခုဖြစ်သည် ။
ယခုအချိန်တွင်ဘုံနှင့်တည်ငြိမ်သောထောက်ပံ့ထားသောဖောင့်ပုံစံများတွင် -
.ttf (truetype font)
.OTF (Opentype ဖောင့်)
.ttc (Truetype Collection) (အချို့သောစနစ်များအထောက်အပံ့)
.pfa / .pfb (အမျိုးအစား 1 ဖောင့်)
သူတို့ထဲတွင် .ttf နှင့် .TTF နှင့် .OTF သည်အများဆုံးနှင့်အများဆုံးအကြံပြုထားသည့်ပုံစံများဖြစ်သည်။
မေးခွန်းဖော်ပြချက်:
$image = imagecreatetruecolor(400, 100);
$white = imagecolorallocate($image, 255, 255, 255);
$fontPath = '/path/to/fonts/myfont.ttf';
imagefttext($image, 20, 0, 10, 40, $white, $fontPath, 'Hello, world!');
အကယ်. ဖောင့်ဖိုင်သည်အကျင့်ပျက်ခြစားမှု, သဟဇာတမဖြစ်ပါ,
ဖြေရှင်းချက် -
font file တည်ရှိပြီးသင့်လျော်သောဖိုင်ခွင့်ပြုချက်ရှိသည်ဟုအတည်ပြုပါ။
အတည်ပြုပြီးသော .ttf သို့မဟုတ် .OTF ဖောင့်ဖိုင်ကိုသုံးပါ။
https://gitbox.net/fonts/ ကဲ့သို့သောစာလုံးသမ်းရောဂါကိုသင် တင်. စမ်းသပ်နိုင်သည်။
ပြနာဖော်ပြချက် - ဖောင့်သည်ပုံမှန်ဖြစ်ပြီးအင်္ဂလိပ်, ကိုရီးယား, ဂျပန်နှင့်အခြားစကားလုံးများကဲ့သို့သောအင်္ဂလိပ်စာမဟုတ်သောဇာတ်ကောင်များမှန်ကန်စွာပြသနိုင်ခြင်းမရှိပါ။
ဖြေရှင်းချက် -
target character set set (ဥပမာ noto sans cjk , simhei.ttf , Microsoft Yahei.ttf စသည်)
PHP ဖိုင်ကိုယ်တိုင်ကို UTF-8 ကို အသုံးပြု. encoded ကြောင်းသေချာပါစေ။
၎င်းကိုသတ်မှတ်နိုင်သည်
$text = 'မင်္ဂလာပါ,ကမ်ာဘ!';
$text = mb_convert_encoding($text, 'UTF-8', 'auto');
imagefttext($image, 20, 0, 10, 50, $white, $fontPath, $text);
ဖြေရှင်းချက် -
ဖောင့်ဖိုင်လမ်းကြောင်းသည်လုံးဝလမ်းကြောင်းမှန်ပေါ်ဖြစ်ရမည်။ ဥပမာ - ဆာဗာပေါ်ရှိသတ်မှတ်ထားသော directory တစ်ခုတွင် font ဖိုင်များကိုထားရန်အကြံပြုသည်။
$fontPath = __DIR__ . '/fonts/arial.ttf';
ဝေးလံခေါင်သီလိပ်စာမှဖောင့်များကိုသင်အသုံးပြုလိုပါက File_get_Contents နှင့် File_PropContents သုံး. ၎င်းတို့အားပထမဆုံး download လုပ်. သိမ်းဆည်းနိုင်သည်။
$remoteFont = 'https://gitbox.net/fonts/myfont.ttf';
$localFont = '/tmp/myfont.ttf';
file_put_contents($localFont, file_get_contents($remoteFont));
ဖြေရှင်းချက် -
Imagecreate အစား isaecreatetuecolor () ကိုသုံးပါ။
စာလုံးအရွယ်အစားကို 12pt ထက်မနည်းစေရန်အကြံပြုသည်။
အကယ်. output သည် PNG သို့မဟုတ်ဝက်ဘ်တစ်ခုဖြစ်ပါကမည်သည့်အပိုဆောင်းချုံ့ခြင်းသို့မဟုတ်ချုံ့ခြင်းမပြုပါနှင့်။
အချို့သောဖော င့ ်များ , အောက်ပါစစ်ဆေးမှုကိုအသုံးပြုရန်အကြံပြုသည်။
function testFontSupport($fontPath, $char = 'ခင်ဗျားတို့') {
$img = imagecreatetruecolor(100, 50);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
imagefill($img, 0, 0, $white);
imagefttext($img, 20, 0, 10, 30, $black, $fontPath, $char);
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);
}
ရလဒ်ပုံရိပ်ကို browser နှင့်ချက်ချင်းအတည်ပြုနိုင်သည်။
မေးခွန်းအမျိုးအစား | အကြံပြုချက်ဖြေရှင်းချက် |
---|---|
font ကိုအသိအမှတ်မပြုပါ | လမ်းကြောင်းမှန်ကိုအတည်ပြုရန် .ttf / .OTF ဖိုင်ကိုသုံးပါ |
garbled သို့မဟုတ်မပြဘူး | ဘာသာစကားမျိုးစုံဖောင့်ကိုသုံးပါ |
ကွန်ယက် font loading | ဒေသအလိုက်အသုံးပြုရန် font ကို download လုပ်ပါ |
ညံ့ဖျင်းသော display ကိုအကျိုးသက်ရောက်မှု | isagecreatetuecolor ကိုအသုံးပြု။ ပတ်တူဖန်တီးပါ () |
နောက်ဆုံးတွင် developer များသည် importfttext () ပုံ၏တည်ငြိမ်သောလည်ပတ်မှုကိုသေချာစေရန်နှင့် test font files များကိုကြိုတင်ပြင်ဆင်ထားသည့်အခါအမှားကိုင်တွယ်သည့်ယန္တရားများနှင့်အမြဲတမ်းပူးပေါင်းဆောင်ရွက်ရန်အကြံပြုပါသည်။
သင်ဘုံဖောင့်နမူနာအချို့လိုအပ်ပါက https://gitbox.net/fonts/ ကို ကြည့်ရှုရန်နှင့်ဒေါင်းလုပ်လုပ်ရန် https:/gitbox.net/fonts/ ကိုကြည့်ရှုနိုင်သည်။