လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ပုံရိပ်ကိုချဲ့ခြင်းနှင့်ပြီးဆုံးခြင်းမတိုင်မီနှင့်အပြီးခြားနားချက်

ပုံရိပ်ကိုချဲ့ခြင်းနှင့်ပြီးဆုံးခြင်းမတိုင်မီနှင့်အပြီးခြားနားချက်

M66 2025-05-23

PHP တွင်ရုပ်ပုံများကိုထုတ်ယူသောအခါ ImageanTialias () function သည် line များနှင့်ဂရပ်ဖစ်များကိုပုံဆွဲခြင်း၏အစွန်း၏အစွန်းရောက်မှုကိုတိုးတက်စေရန်မကြာခဏအသုံးပြုလေ့ရှိသည်။ developer အတော်များများကပုံမချဲ့မီ (သို့) ချုံ့ခြင်းမပြုမီ ပုံကြမ်း () function ကိုခေါ်ခြင်းသည် ပို. ကောင်းသည်ကိုသာကောင်းသည်ကိုကြည့်ရှုစောင့်ရှောက်မည်လော။ ဤဆောင်းပါးသည်ဤပြ issue နာကိုအသေးစိတ်ဆွေးနွေးပါမည်။ ImageanTialias () ၏ပုံသဏ္ဌာန် () ၏ပုံရိပ်အပေါ်နှင့်အပြီးပုံရိပ်အရည်အသွေးအပေါ်သက်ရောက်မှုကိုဖော်ပြရန်ကုဒ်များဥပမာကိုအသုံးပြုမည်။

1 ။ Imageantiasias () ?

Imageantialias () သည် PHPG GD စာကြည့်တိုက်တွင် function antialiasing သက်ရောက်မှုများကိုဖွင့်ရန် (သို့) ကာကွယ်ရန်အတွက်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ anti-aliasing သည်ဂရပ်၏အနား၏ jagged ပုံသဏ္ဌာန်ကိုလျှော့ချရန်နှင့်အနားများကိုချောချောမွေ့မွေ့စေရန်အသုံးပြုသောပုံရိပ်ထုတ်ယူခြင်းနည်းပညာဖြစ်သည်။

 bool imageantialias(resource $image, bool $enabled);
  • $ Image : Image အရင်းအမြစ်လက်ကိုင်။

  • enabled : anti-aliasing enasing ကို enable လုပ်ဖို့ သတ်မှတ်ထား ပါ

သတိပြုသင့်သည်မှာ ImagneanIas () သည်ရေးဆွဲထားသောလိုင်းများနှင့်ပုံစံမျိုးစုံအားလုံးအတွက်ထိရောက်သော်လည်း algorithm imagorithm ကိုတိုက်ရိုက်မထိခိုက်စေပါ။

2 ။ ပုံများချုံ့သောအခါအသုံးပြုရန်နည်းလမ်းနှစ်ခု

ပုံတစ်ပုံကိုချုံ့သောအခါပုံမှန်အတိုင်းအဆင့်များမှာ -

  1. anti-aliasing ကို ဦး စွာဖွင့်ပါ, ပြီးနောက်ပုံကိုချဲ့ပါ။

  2. ပုံကိုအရင်စကေး, ပြီးတော့ဆန့်ကျင် aliasing ကိုဖွင့်ပါ။

ဤနည်းလမ်းနှစ်ခုသည်အမှန်တကယ်ရလဒ်များအတွက်ကွဲပြားခြားနားမှုရှိလိမ့်မည်။

3 ။ နမူနာကုဒ်နှင့်အကျိုးသက်ရောက်မှုခွဲခြမ်းစိတ်ဖြာ

1 ။ ချဲ့ထွင်ခြင်းမပြုမီ anti-aliasing ကိုဖွင့်ပါ

 <?php
// မူရင်းပုံရိပ်ဖန်တီးပါ
$src = imagecreatefromjpeg('http://m66.net/images/sample.jpg');

// ပစ်မှတ် zoom image တစ်ခုဖန်တီးပါ
$dst = imagecreatetruecolor(200, 150);

// ဆန့်ကျင် aliasing ကို enable
imageantialias($dst, true);

// zoom copy လုပ်ပါ
imagecopyresampled($dst, $src, 0, 0, 0, 0, 200, 150, imagesx($src), imagesy($src));

// output ကိုပုံ
header('Content-Type: image/jpeg');
imagejpeg($dst);

// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($src);
imagedestroy($dst);
?>

2 ။ ချဲ့ပြီးနောက် anti-aliasing ကိုဖွင့်ပါ

 <?php
// မူရင်းပုံရိပ်ဖန်တီးပါ
$src = imagecreatefromjpeg('http://m66.net/images/sample.jpg');

// ပစ်မှတ် zoom image တစ်ခုဖန်တီးပါ
$dst = imagecreatetruecolor(200, 150);

// zoom copy လုပ်ပါ
imagecopyresampled($dst, $src, 0, 0, 0, 0, 200, 150, imagesx($src), imagesy($src));

// ဆန့်ကျင် aliasing ကို enable
imageantialias($dst, true);

// output ကိုပုံ
header('Content-Type: image/jpeg');
imagejpeg($dst);

// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($src);
imagedestroy($dst);
?>

4 ။ နှိုင်းယှဉ်ခြင်းနှင့်နိဂုံးချုပ်

  • ချဲ့ခြင်းမပြုမီ anti-aliasing ကိုဖွင့်ပါ ဤအခြေအနေသည်အဓိကအားဖြင့်ပုံဆွဲခြင်းများ, စတုဂံစက်ဝိုင်းများ, စက်ဝိုင်းများစသည်တို့ကဲ့သို့သောနောက်ဂရပ်ဖစ်ပုံဆွဲခြင်းလုပ်ငန်းများကိုအဓိကအားဖြင့်သက်ရောက်သည်
    ချုံ့ပြီးနောက်ချောချောမွေ့မွေ့သောဂရပ်ဖစ်ကိုဆွဲရန်လိုအပ်ပါကဆန့်ကျင်ရေးကိုကြိုတင်ဖွင့်နိုင်သည်။

  • ချဲ့ပြီးနောက် anti-aliasing ကိုဖွင့်ပါ စင်ကြယ်သောပုံကြမ်းအရည်အသွေးအရည်အသွေးသိသိသာသာတိုးတက်မှုမရှိပါ။ ဘာဖြစ်လို့လဲဆိုတော့ anti-aliasing သည် drawing function မှလိုင်းများပြုပြင်ခြင်းကိုသာအကျိုးသက်ရောက်သည်။ သို့သော်ပုံတစ်ခုလုံး၏ pixel scaling အပေါ်တိုက်ရိုက်သက်ရောက်မှုမရှိပါ။

အချုပ်အားဖြင့်ဆိုရလျှင် ImageAneTialias () သည် ချုံ့ခြင်းစစ်ဆင်ရေးအပေါ်တိုက်ရိုက်သက်ရောက်မှုမရှိပါ။ အကယ်. သင်သည် 0 င်ရောက်နိုင်သည့်ပုံရိပ်၏အရည်အသွေးကိုတိုးတက်အောင်လုပ်ရန်လိုအပ်ပါက စိတ်ကူးယဉ်ဆန်သောပုံရိပ် () ကိုမှီခိုမည့်အစား agecopyresampled () ကဲ့သို့သောအရည်အသွေးမြင့်သောချောင်းရေများကိုအသုံးပြုသင့်သည်။

5 ။ အသုံးပြုရန်အစီအစဉ်များကိုအကြံပြုသည်

  • ချဲ့ထွင်ပြီးနောက်, သင်သည် vector ဂရပ်ဖစ် (လိုင်းများ, နယ်နိမိတ် ) ကိုဆွဲရန်လိုအပ်နေပါက,

  • သက်သက်သာမြင့်တက်လာသောအခါသင်သည် isagecopyresampled () ကို သုံးရန် လိုအပ်သည်။