Image PhpP အတွက် PHP ကိုအသုံးပြုသောအခါ developer အများအပြားသည်ပုံသဏ္ဌာန်များကိုချောချောမွေ့မွေ့ချောမွေ့စေရန်နှင့်ပုံဆွဲအရည်အသွေးတိုးတက်စေရန်အတွက် developer များ (developer ) သည် imagneanitialias () function ကိုအသုံးပြုလိမ့်မည်။ သို့သော်တစ်ခါတစ်ရံတွင်ဤ function ကိုဟုခေါ်သော်ပင်ဖြစ်လျှင်ပင် image output သည် Jagged ပေါ်လာသည်။ ဒါကြောင့်ဒီဟာက GD စာကြည့်တိုက်ဗားရှင်းနဲ့ဆက်စပ်မှုရှိပါသလား။ ဤဆောင်းပါးသည်ဤပြ issue နာကိုအသေးစိတ်ခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
Imageantialias () သည် PHP မှပါ 0 င်သော PHP မှပေးသော GD စာကြည့်တိုက်လုပ်ဆောင်ချက်များထဲမှတစ်ခုဖြစ်သည်။ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
bool imageantialias(GdImage $image, bool $enabled)
$ enable လုပ်သည့် အခါ မှန်ကန် သည်, anti-aliasing function ကိုဖွင့်ထားသည်။
အထူးသဖြင့်ပုံ၏အရည်အသွေးကိုသိသိသာသာတိုးတက်စေနိုင်သောမျဉ်းစောင်းများသို့မဟုတ်စက်ဝိုင်းများကိုဆွဲယူသည့်အခါဤလုပ်ဆောင်မှုကိုအထူးသဖြင့်ပုံဆွဲသည့်အခါလိုင်းများနှင့်ကိန်းဂဏန်းများကိုချောမွေ့စေသည်။ ဥပမာအားဖြင့်:
$img = imagecreatetruecolor(200, 200);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
imagefill($img, 0, 0, $white);
imageantialias($img, true);
imageline($img, 0, 0, 199, 199, $black);
imagepng($img, 'output.png');
imagedestroy($img);
အသုံးအများဆုံးအကြောင်းပြချက်မှာ GD စာကြည့်တိုက်ဗားရှင်းသည်အင်္ဂါရပ်ကိုအပြည့်အဝမထောက်ပံ့ပါ။ အထူးသဖြင့်:
PHP ၏အချို့သောအဟောင်းများဗားရှင်း (PHP 5.3 နှင့်အောက်) တွင် (ဥပမာ PHP 5.3 နှင့်အောက်) တွင် GD စာကြည့်တိုက်သည် Imperientialias () အတွက်ပံ့ပိုးမှုသည်တည်ငြိမ်မှုမရှိပါ။
အချို့သောစနစ်များတွင် PHP ပြုစုသောအခါ GD Support ကိုဖွင့ ်. မရပါ, သို့မဟုတ် GD စာကြည့်တိုက်သည်ရိုးရှင်းသောဗားရှင်းကို အသုံးပြု. (ဥပမာ, Libgd ကိုအသုံးမပြုပါ) ။
PHP 8.0 နှင့်နောက်ပိုင်းတွင် Imageantialias () function ကိုအသုံးပြုခြင်းသည်အချို့သောစနစ်များတွင်လုံးဝမမှန်ကန်ကြောင်းနှင့်အချို့သောစနစ်များပေါ်တွင်လုံးဝမမှန်ကန်ကြောင်းနှင့် imiasing aliasing antigy အစားပုံကြမ်းကိုအသုံးပြုရန်အကြံပြုသည်။
ထို့ကြောင့် GD ဗားရှင်းကိုအတည်ပြုခြင်းသည်အလွန်အရေးကြီးသည်။ GD ၏တိကျသောသတင်းအချက်အလက်များကိုလက်ရှိ PHP တွင်ကြည့်ရှုနိုင်သည်။
<?php
phpinfo();
Freetype, Libpng, Libjpeg နှင့်အခြား extensions များကိုဖွင့်ထားသည်ကိုအတည်ပြုရန်စာမျက်နှာရှိ "GD Support" အပိုင်းကိုရှာဖွေပါ။
ပုံအမျိုးအစားအားလုံးသည် anti-aliasing supps များကိုတွေ့နိုင်သည်မဟုတ်ပါ။ ဥပမာအားဖြင့်:
Imagecreate () တွင်ဖန်တီးထားသောရုပ်ပုံများသည် 8-bit palette image များဖြစ်ပြီး aliasing ဆန့်ကျင်ရေးကိုမထောက်ခံပါ။
ImageeTias () imagecreatetuecolor () မှဖန်တီးထားသောစစ်မှန်သောအရောင်ပုံရိပ်များကိုထောက်ခံမှသာထောက်ပံ့သည် ။
isaecreatetuecolor () ကို သေချာစွာသုံးပါ။
Imageantialias () သည် ဆွဲဆောင်မှုလုပ်ဆောင်ချက်များအားလုံးအတွက်အလုပ်မလုပ်ပါ, ၎င်းသည်အောက်ပါလုပ်ဆောင်ချက်များကိုအဓိကအားဖြင့်မှန်ကန်သည်။
စိတ်ကူးယဉ် ()
Idellipsese ()
ပုံ ()
ISESECOCOPYRESSAMPLED () လုပ်ဆောင်ချက်များအတွက် antialiasing သည် antialiasing သည် algorithm () သည်မ်ား မ algorithm ပေါ်တွင်မူတည်သည်။ ဒါကြောင့်ပုံတစ်ပုံကိုချုံ့သောအခါ antialiasing မမှန်ကန်ကြောင်းသင်တွေ့ရှိပါက - ကဲ့သို့သောအခြားရွေးချယ်စရာများကိုသင်စဉ်းစားသင့်သည်။
imagecopyresampled($dstImg, $srcImg, 0, 0, 0, 0, $newWidth, $newHeight, $srcWidth, $srcHeight);
ချဲ့ထွင်သည့်အခါပုံရိပ်အရည်အသွေးကိုထိန်းသိမ်းရန်နည်းလမ်းဖြစ်သည်။
အောက်ပါကုဒ်ကိုကွပ်မျက်ခြင်းဖြင့် GD စာကြည့်တိုက်သည် ImageAneTialias ကိုထောက်ပံ့ခြင်းရှိမရှိအတည်ပြုပါ။
<?php
if (function_exists('imageantialias')) {
echo 'imageantialias() အသုံးပြုနိုင်';
} else {
echo 'imageantialias() 不အသုံးပြုနိုင်';
}
Imageantialias () သည်မမှန်ကန်ပါကအလားတူ aliasing ဆန့်ကျင်ရေးအကျိုးသက်ရောက်မှုများရရှိရန်အောက်ပါနည်းလမ်းကိုသင်စဉ်းစားနိုင်သည်။
ပိုကြီးတဲ့ပုံရိပ်ကိုဖန်တီးပါ။
ဂရပ်ဖစ်ဆွဲပါ။
ပုံရိပ်ကိုပစ်မှတ်အရွယ်အစားကိုလျှော့ချပါ။
ဥပမာ -
$large = imagecreatetruecolor(400, 400);
$white = imagecolorallocate($large, 255, 255, 255);
$black = imagecolorallocate($large, 0, 0, 0);
imagefill($large, 0, 0, $white);
imageellipse($large, 200, 200, 300, 300, $black);
$small = imagecreatetruecolor(100, 100);
imagecopyresampled($small, $large, 0, 0, 0, 0, 100, 100, 400, 400);
imagepng($small, 'https://m66.net/output.png');
imagedestroy($large);
imagedestroy($small);
ဤနည်းအားဖြင့် Imageantialias () ကိုမှီခိုခြင်းမရှိဘဲချောချောမွေ့မွေ့ရေးဆွဲခြင်းအကျိုးသက်ရောက်မှုများကိုရရှိနိုင်သည်။
ImageanTialias () function သည်အချို့သောပတ်ဝန်းကျင်တွင်မမှန်ကန်ပါ, PHP 8.0+ စီမံကိန်းများတွင် Imageantialias () alias-alias ကိုရရှိရန် Imageantialias () အစားပုံချောင်းချဲ့ခြင်းနည်းပညာကိုအသုံးပြုရန်အကြံပြုသည်။