Image Procession အတွက် PHP ကိုအသုံးပြုသောအခါ Edge Jagging သည်ပုံရိပ်များ၏အသွင်အပြင်ကိုအကျိုးသက်ရောက်စေသောဘုံပြ problem နာဖြစ်သည်။ အထူးသဖြင့်ပုံကူးနယ်နိမိတ်များသို့မဟုတ်ဂရပ်ဖစ်များကိုဆွဲသည့်အခါ unsmooth အနားများသည်အလုံးအရင်းသည်အလုံးစုံအကျိုးသက်ရောက်မှုကိုကြမ်းတမ်းစွာပြုလုပ်လိမ့်မည်။ ကံကောင်းထောက်မစွာ, GD စာကြည့်တိုက်သည်ဤပြ problem နာကိုနှေးကွေးစေရန် စိတ်ကူးယဉ်ပုံ () function ကိုထောက်ပံ့ပေးသည်။ ရုပ်ပုံနယ်စပ်အရည်အသွေးကိုသိသိသာသာတိုးတက်စေရန် Image Borderias () function ကိုသိသိသာသာတိုးတက်အောင်မည်သို့ထိရောက်စွာအသုံးချနိုင်မည်ကိုနက်ရှိုင်းစွာရှင်းပြပါမည်။
Imageantialias () သည် GD စာကြည့်တိုက်ရှိ function တစ်ခုဖြစ်ပြီး၎င်း၏ function သည်ပုံများဆန့်ကျင်ရေးလုပ်ဆောင်မှုကို enable လုပ်ရန်ဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည် parameters နှစ်ခုကိုလက်ခံသည်။
bool imageantialias ( resource $image , bool $enabled )
$ Image : Image image အရင်းအမြစ်။
$ enabled : Boolean Value, True ဆိုသည်မှာ anti-aliasing eniasing ကိုဖွင့ ်. မှားယွင်းသော နည်းလမ်းများဖြစ်သည်။
ဘယ်အချိန်မှာသင်လိုင်းများ, နယ်နိမိတ်များသို့မဟုတ်ဂရပ်ဖစ်များဆွဲသောအခါပုံ၏အစွန်းများသည်ချောချောမွေ့မွေ့ဖြစ်လာပြီးရုပ်မြင်အကျိုးသက်ရောက်မှုသည်ပိုမိုသဘာဝကျလိမ့်မည်။
ဒီနေရာမှာပုံရိပ်နယ်စပ်ကိုမဆွဲခင်ဆန့်ကျင်ရေးကိုဘယ်လိုလုပ်ရမလဲဆိုတာပြသတဲ့ရိုးရှင်းတဲ့ဥပမာတစ်ခုပါ။
<?php
// a 300x300 စစ်မှန်သောအရောင်ပုံရိပ်
$img = imagecreatetruecolor(300, 300);
// နောက်ခံအရောင်ကိုအဖြူရောင်သို့သတ်မှတ်ပါ
$white = imagecolorallocate($img, 255, 255, 255);
imagefill($img, 0, 0, $white);
// နယ်စပ်အရောင်ကိုအနီရောင်သို့သတ်မှတ်ပါ
$red = imagecolorallocate($img, 255, 0, 0);
// anti-aliasing ကိုဖွင့်ပါ
imageantialias($img, true);
// စတုဂံနယ်စပ်ဆွဲပါ
imagerectangle($img, 50, 50, 250, 250, $red);
// output ကိုပုံ
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);
?>
eniasing aliasing နှင့်အတူ imageantialias ($ IMG, truty) မှတဆင့်ဖွင့်လှစ်ခဲ့သည် ($ IMG, RES) မှတစ်ဆင့်အနီရောင်နယ်နိမိတ်၏လိုင်းများသည်ပုံမှန်အားဖြင့်ချောချောမွေ့မွေ့ဖြစ်လိမ့်မည်။
Imageantialias () သည် ဖြောင့်သောလိုင်းများနှင့်စတုဂံများအပေါ်အကျိုးသက်ရောက်မှုအနည်းငယ်သာရှိသော်လည်းစက်ဝိုင်းများသို့မဟုတ် Oblique လိုင်းများကိုပုံဆွဲသည့်အခါ၎င်း၏အကျိုးသက်ရောက်မှုသည်အလွန်အရေးပါသည်။ ဥပမာအားဖြင့်, rounded ထောင့်များနှင့်အတူ bording အခါ:
<?php
$img = imagecreatetruecolor(300, 300);
$bg = imagecolorallocate($img, 255, 255, 255);
imagefill($img, 0, 0, $bg);
$blue = imagecolorallocate($img, 0, 0, 255);
// anti-aliasing ကိုဖွင့်ပါ
imageantialias($img, true);
// ပတ်ပတ်လည် border ဆွဲပါ
imagearc($img, 150, 150, 200, 200, 0, 360, $blue);
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);
?>
အကယ်. သင်သည် ImageanTias ကို ပိတ်ထားပါကစက်ဝိုင်းအနားအနားစွန်းများသည်သိသာထင်ရှားလာလိမ့်မည်။
Imageantialias () သည် imagecreatetuecolor () မှ ဖန်တီးထားသောစစ်မှန်သောအရောင်ပုံရိပ်များအတွက်သာတရားဝင်သည်, သို့သော် imagecreate မှဖန်တီးထားသော palette ရုပ်ပုံများအတွက်မမှန်ကန်ပါ။
anti-aliasing သည် image အရည်အသွေးကိုအကောင်းဆုံးဖြစ်စေနိုင်သည်။ အကယ်. သင်သည်ပုံများစွာကိုကိုင်တွယ်ဖြေရှင်းနေပါက၎င်းသည်တိကျသောလိုအပ်ချက်များအပေါ် အခြေခံ. ၎င်းကိုဖွင့်ထားသည်ကိုဆုံးဖြတ်ရန်အကြံပြုသည်။
ပုံကိုထုတ်ပြီးနောက်ပုံကိုသိမ်းဆည်းရန်လိုအပ်ပါက ImagePng ၏ဒုတိယpareterကိုအစားထိုးနိုင်သည်။
imagepng($img, '/path/to/save/border.png');
ပုံကိုသတ်မှတ်ထားသောလိပ်စာသို့လည်း upload လုပ်နိုင်သည်။
$url = 'https://m66.net/upload-handler.php';
ထိုအခါပုံဒေတာပေးပို့ဖို့ curl ကိုသုံးပါ။
PHP ၏ပုံရိပ်ပြုပြင်ခြင်းတွင် ImageanTias () သည်ပုံအရည်အသွေးကိုတိုးတက်စေရန်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်သည်။ အထူးသဖြင့်နယ်နိမိတ်များသို့မဟုတ်ဂရပ်ဖစ်များကိုဆွဲသောအခါ၎င်းသည် aliasing ကိုထိထိရောက်ရောက်ဖယ်ရှားပစ်နိုင်ပြီး output ကိုပုံရိပ်ကိုပိုမိုပရော်ဖက်ရှင်နယ်ဖြစ်စေနိုင်သည်။ ဤလုပ်ဆောင်မှုကိုအားဖွင့်ခြင်းအားဖြင့်အမြင်အာရုံအကျိုးသက်ရောက်မှုကိုတိုးတက်အောင်လုပ်ခြင်းသည်အမြင်အာရုံအကျိုးသက်ရောက်မှုကိုတိုးတက်စေသည်မဟုတ်ဘဲအသုံးပြုသူအတွေ့အကြုံတွင်အပြုသဘောဆောင်သောပြန်လည်သုံးသပ်မှုများပိုမိုရရှိရန်ခွင့်ပြုသည်။
ဤဆောင်းပါးရှိဥပမာများနှင့်ညွှန်ကြားချက်များမှ တ ဆင့်ပုံရိပ်နယ်စပ်ပုံသဏ် in ာန်တွင်မှန်ကန်စွာမည်သို့အသုံးပြုရမည်ကိုသင်ကျွမ်းကျင်သည်ဟုကျွန်ုပ်ယုံကြည်သည်။ သင်၏ပုံရိပ်ထုတ်ယူခြင်းစီမံကိန်းတွင်ပြ problems နာများရှိပါက၎င်းကိုဖွင့်ပါ။