လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ၏ ImageanTialias function ကို အသုံးပြု. ဘားကုဒ်သို့မဟုတ် QR Code ဂရပ်ဖစ်များအတွက် anti-aliasing အကျိုးသက်ရောက်မှုကိုဘယ်လိုလုပ်မလဲ။

PHP ၏ ImageanTialias function ကို အသုံးပြု. ဘားကုဒ်သို့မဟုတ် QR Code ဂရပ်ဖစ်များအတွက် anti-aliasing အကျိုးသက်ရောက်မှုကိုဘယ်လိုလုပ်မလဲ။

M66 2025-06-11

Barcodes သို့မဟုတ် QR ကုဒ်များကိုထုတ်လုပ်သည့်အခါဂရပ်သည်များသောအားဖြင့်ဖြောင့်သောလိုင်းများနှင့်ရင်ပြင်များစွာဖြင့်ဖွဲ့စည်းထားသည်။ ဤဂရပ်ဖစ်များကို 0 က်ဘ်စာမျက်နှာများပေါ်တွင်သယ်ဆောင်ရန်သို့မဟုတ်ပုံနှိပ်ထုတ်ဝေသော jagged etges များကိုထုတ်ယူနိုင်ရန်အတွက် PHP ၏ ImpP ၏ Iagneletialias function ကိုသုံးနိုင်သည်။ ဤဆောင်းပါးသည် ပုံရိပ်များကို ပိုမိုရှင်းလင်းသောဂရပ်ဖစ် output ကိုမည်သို့အောင်မြင်ရန်မည်သို့ပြုလုပ်ရမည်ကိုသရုပ်ပြနိုင်ရန်အတွက်ပုံရိပ်သို့မဟုတ် QR code မျိုးဆက်နမူနာများကိုပေါင်းစပ်ပါလိမ့်မည်။


ImageanTias ကဘာလဲ?

ImageanTias သည် Php GD စာကြည့်တိုက်တွင်ရေးဆွဲထားသောလိုင်းများအတွက် antialiasing underiasing enable သို့မဟုတ် disable လုပ်ရန် PHPG GD စာကြည့်တိုက်တွင်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ anti-aliasing enable လုပ်ထားတဲ့အခါမှာဆွဲထားတဲ့မျဉ်းစိပ်တွေရဲ့အနားတွေကတုန်ခါသွားတယ်,

function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 bool imageantialias ( resource $image , bool $enabled )
  • $ Image : Image image အရင်းအမြစ်

  • $ enabled : anti-aliasing enable လုပ်ဖို့ဖြစ်စေ, မှန်ကန်သော enable, false disable

ဇာတ်လမ်းဖော်ပြချက်ကိုသုံးပါ

ဘားကုဒ်သို့မဟုတ် QR Code သည်များသောအားဖြင့် pixel လုပ်ကွက်များသို့မဟုတ်လိုင်းများဖြင့်ဖွဲ့စည်းထားသောဂရပ်သည်များသောအားဖြင့် pixel လုပ်ကွက်များသို့မဟုတ်လိုင်းများဖြင့်ရေးစပ်ထားသည့်ဂရပ်ဖြစ်သည်။ ဆန့်ကျင်ရေးဆန့်ကျင်ရေးကိုဖွင့်ခြင်းအားဖြင့်အနားများသည်ပျော့ပြောင်းပြီးအထူးသဖြင့်ပုံနှိပ်ထုတ်သည့်အခါအမြင်အာရုံအကျိုးသက်ရောက်မှုများတိုးတက်လာနိုင်သည်။

သို့သော်, icageantialias သည်လိုင်းများနှင့်မယားများအပေါ်သိသာထင်ရှားသောသက်ရောက်မှုများရှိပြီးတစ် ဦး ချင်းစီသည် pixel လုပ်ကွက်များအပေါ်သက်ရောက်မှုအနည်းငယ်သာရှိသည်။ ထို့ကြောင့် QR Code မျိုးဆက်တွင်၎င်းကိုအခြားချောချောမွေ့မွေ့ပြုပြင်ထုတ်လုပ်သည့်နည်းစနစ်များနှင့်မကြာခဏအသုံးပြုလေ့ရှိသည်။

ဥပမာ - ဘားကုဒ်များအတွက်ဆန့်ကျင်ရေးကို enable လုပ်ပါ

အောက်တွင်ဖော်ပြထားသော PHPG GD function ကို အသုံးပြု. Barcode Stripe ပုံကိုဖန်တီးရန်နှင့် ImageanTias ကို အသုံးပြု. ဆန့်ကျင်ရေးကို enable လုပ်ပါ။

 <?php
// အလွတ်တစ်ခုဖန်တီးပါ
$width = 200;
$height = 80;
$image = imagecreatetruecolor($width, $height);

// အရောင်များကိုသတ်မှတ်ပါ
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);

// အဖြူရောင်နှင့်ပြည့်စုံနောက်ခံ
imagefill($image, 0, 0, $white);

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

// Barcodes ဆွဲဘို့အနက်ရောင်အစင်း(ရိုးရှင်းသောဥပမာ)
for ($x = 10; $x < 190; $x += 20) {
    imageline($image, $x, 10, $x, 70, $black);
}

// output ကိုပုံ
header('Content-Type: image/png');
imagepng($image);

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

ဤဥပမာတွင် 200x80 ပုံရိပ်တစ်ခုပြုလုပ်ပြီး 20 pixels ကြားကာလနှင့်အတူဒေါင်လိုက်အနက်ရောင်လိုင်းများဆွဲခြင်း။ ImageAneTialias ($ Image Real) ကိုခေါ်ပြီးနောက်မျဉ်း၏အနားအနားများသည်ချောချောမွေ့မွေ့ဖြစ်လာလိမ့်မည်။

ဥပမာ - QR ကုဒ်များကိုဆန့်ကျင်ရေးအတွက်အခြေခံအတွေးအခေါ်များ

QR ကုဒ်များကိုများသောအားဖြင့် pixel လုပ်ကွက်များဖြင့်ကိုယ်စားပြုလေ့ရှိပြီး GD စာကြည့်တိုက်၏ ပုံရိပ်သည် pixel draging တစ်ခုတည်းတွင်အကျိုးသက်ရောက်သည်။ ယေဘုယျအားဖြင့် "ချောချောမွေ့မွေ့" အကျိုးသက်ရောက်မှုကို QR Code Image တွင်ချဲ့ထွင်ခြင်းအားဖြင့်ရရှိပြီးနောက်သတ်မှတ်ထားသောအရွယ်အစားကိုလျှော့ချခြင်းဖြင့်ရရှိနိုင်ပါသည်။ ထို့အပြင် QR codes များကိုဆွဲသည့်အခါပိုကြီးသော pixels များဆွဲရန်နှင့်အမြင်အာရုံချောချောမွေ့မွေ့တည်ဆောက်ရန်ပိုမိုများပြားသော pixels များနှင့်ပေါင်းစပ်ရန် IdentefeedFore ကို သင်အသုံးပြုနိုင်သည်။

အောက်ပါဥပမာသည် QR Code ပုံ၏ပိုမိုကြီးမားသောဗားရှင်းကိုမည်သို့ဖန်တီးရမည်ကိုပြသပြီးအချို့သောဆန့်ကျင်ရေးအကျိုးသက်ရောက်မှုကိုရရှိရန်၎င်းကိုကျုံ့စေသည်။

 <?php
// QR Code အချက်အလက်များကိုထုတ်ပေးသည်ဟုယူဆပါ,ရိုးရှင်းသော Simulation QR Code Matrix
$matrix = [
    [1,0,1,1,0,1,0,0],
    [0,1,0,1,1,0,1,0],
    [1,1,1,0,0,1,0,1],
    [0,0,1,1,0,0,1,1],
    [1,0,0,1,1,1,0,0],
    [1,1,0,0,1,0,1,0],
    [0,1,1,1,0,1,0,1],
    [1,0,0,0,1,1,1,0],
];

$scale = 10;  // အချိုးတိုးချဲ့ပါ
$size = count($matrix) * $scale;
$image = imagecreatetruecolor($size, $size);

$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
imagefill($image, 0, 0, $white);

imageantialias($image, true);

for ($y = 0; $y < count($matrix); $y++) {
    for ($x = 0; $x < count($matrix[$y]); $x++) {
        if ($matrix[$y][$x] == 1) {
            // ချီးမြှင့် blocks ဆွဲပါ
            imagefilledrectangle(
                $image,
                $x * $scale,
                $y * $scale,
                ($x + 1) * $scale - 1,
                ($y + 1) * $scale - 1,
                $black
            );
        }
    }
}

// anti-aliasing အကျိုးသက်ရောက်မှုအောင်မြင်ရန်ပုံကိုလျှော့ချပါ
$finalWidth = count($matrix) * 3; // သေးငယ်လိုက်3နှစ်ဆဖြစ်သော
$finalHeight = $finalWidth;
$finalImage = imagecreatetruecolor($finalWidth, $finalHeight);

imagecopyresampled(
    $finalImage,
    $image,
    0, 0, 0, 0,
    $finalWidth, $finalHeight,
    $size, $size
);

header('Content-Type: image/png');
imagepng($finalImage);

imagedestroy($image);
imagedestroy($finalImage);
?>

ဤကုဒ်ကို 10 ခေါက် QR Code ကိုဖွင့်ခြင်းဖြင့်ဖန်တီးပြီး, အရွယ်အစား 3 ဆကိုကျုံ့စေပြီး isi-aliasing aliasing ကိုအောင်မြင်ရန် ISESECOPYRESSED RESAMPLING ကို အသုံးပြု. ,

အကျဉ်းချုပ်

  • ImageanTialias ကိုပုံရိပ်တွေအတွင်းရှိလိုင်းများကို eniasing alides ကို enable လုပ်ရန်အဓိကအားဖြင့်အသုံးပြုသည်။

  • Barcodes များအတွက် Imageantialias ကို acable လုပ်ခြင်းသည်မျဉ်းကြောင်း၏အစွန်းများကိုသိသိသာသာတိုးတက်စေခဲ့သည်။

  • QR ကုဒ်များအတွက် ImageAneTialias ကိုဖွင့်ထားခြင်းသည်များသောအားဖြင့်အကန့်အသတ်ဖြင့်သာအကျိုးသက်ရောက်နိုင်ပြီးများသောအားဖြင့်ချောချောမွေ့မွေ့ဂရပ်ဖစ်များရရှိရန်အတွက်ချဲ့ထွင်ခြင်းနည်းလမ်းကိုပေါင်းစပ်ထားသည်။

  • PHPG GD ၏အခြားပုံရိပ်ထုတ်ယူမှုလုပ်ဆောင်ချက်များနှင့်ပေါင်းစပ်ပြီး,