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