အရောင်များနှင့်ရုပ်ပုံများကို dynamically ထုတ်လုပ်ခြင်းသည် Web Development တွင်ဘုံလိုအပ်ချက်ဖြစ်သည်။ PHP သည် imageecolorallocatealealpha သည် Transparency (RGBA) နှင့်အရောင်များကိုထုတ်လုပ်ရန်အလွန်အသုံးဝင်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဒီဆောင်းပါးကဒီ function ကို RGBA အရောင်ဘုတ်အဖွဲ့တွေကို dynamically genertically generate လုပ်ရမယ်။
ပထမ ဦး စွာ PHP Image processing ကို GD စာကြည့်တိုက်မှတဆင့်အကောင်အထည်ဖော်သည်။ GD စာကြည့်တိုက်သည်ရုပ်ပုံများကိုဖန်တီးရန်, ရုပ်ပုံများကိုတည်းဖြတ်ရန်နှင့်ပုံတွင်အမျိုးမျိုး pixels များပြုလုပ်ရန်ခွင့်ပြုသည်။ Imagecolorallochoceealealpha function သည် GD စာကြည့်တိုက်တွင် 0 င်ရောက်သည့် GD စာကြည့်တိုက်အဖွဲ့ဝင်တစ် ဦး ဖြစ်သည်။
ISEACOLORALOCALOULEALEALEAX function ၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha): int
$ Image : Image image အရင်းအမြစ်။
$ အနီရောင် , $ အစိမ်းရောင် , $ အပြာရောင် - 0 မှ 255 အထိအထိအရောင်၏ RGB တန်ဖိုး။
$ alpha : 0 (လုံးဝ opaque) မှ 127 အထိ (လုံးဝပွင့်လင်းမြင်သာမှု) အထိ transparency တန်ဖိုး။
function ၏ပြန်လာတန်ဖိုးမှာပုံတစ်ပုံတွင်ဂရပ်ဆွဲရန်အသုံးပြုနိုင်သည့်အရောင်အမှတ်အသားဖြစ်သည်။
မတူညီသောအရောင်များနှင့်သူတို့၏ပွင့်လင်းမြင်သာမှုကိုပြသရန် RGBA အရောင်ဘုတ်အဖွဲ့ကိုပုံမှန်ထုတ်လုပ်ရန်လိုအပ်သည်ဆိုပါစို့။ RGBA အရောင်ဘုတ်များကိုမည်သို့ပုံမှန်ဖွင့်ထားသည့်ပုံဥပမာတစ်ခုဖြစ်သည် ။
<?php
// a 256x256 အလွတ်
$image = imagecreatetruecolor(256, 256);
// ပွင့်လင်းမြင်သာမှုကိုထောက်ခံရန်,ကျနော်တို့ set up ဖို့လိုအပ်ပါတယ် alpha အတန်း
imagesavealpha($image, true);
// traversal မျိုးဆက် RGBA အရောင်ဘုတ်အဖွဲ့
for ($r = 0; $r < 256; $r += 32) {
for ($g = 0; $g < 256; $g += 32) {
for ($b = 0; $b < 256; $b += 32) {
// ကျပန်းပွင့်လင်း set
$alpha = rand(0, 127);
// အရောင်များကိုသတ်မှတ်ပါ,Transparency တန်ဖိုးများကိုအာရုံစိုက်ပါ
$color = imagecolorallocatealpha($image, $r, $g, $b, $alpha);
// အရောင်ကိုကိုယ်စားပြုရန်စတုဂံလုပ်ကွက်ဆွဲပါ
imagefilledrectangle($image, $r, $g, $r + 31, $g + 31, $color);
}
}
}
// browser မှ output ကိုပုံရိပ်
header('Content-Type: image/png');
imagepng($image);
// မှတ်ဉာဏ်သန့်ရှင်းရေး
imagedestroy($image);
?>
ကျနော်တို့က 256x256 ပုံရိပ်ကိုဖန်တီးပြီးပွင့်လင်းမြင်သာသောလိုင်းများကိုဖွင့်ရန် ImagesaveAvealpha ကိုတည်ထောင်ခဲ့သည်။
Loop သုံးလွှာကို သုံး. RGB တန်ဖိုးများကိုပေါင်းစပ်ပြီးမတူညီသော RGB တန်ဖိုးများကိုပေါင်းစပ်ပြီးအရောင်များကို trueColorallocatealpha function မှတဆင့်အရောင်များကိုသတ်မှတ်ပေးသည်။
IfterfilledededFangleanglefangleding function ကိုပုံရိပ်ရှိစတုဂံလုပ်ကွက်များကိုဆွဲထုတ်ရန်အသုံးပြုသည်။ စတုဂံတစ်ခုစီသည်အရောင်ကိုဖော်ပြသည်။
နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည် header function မှတဆင့် browser ကို browser သို့ output လုပ်သည်။
အထက်ပါကုဒ်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည် 256x256 အရောင်ဘုတ်ကို browser တွင်တွေ့နိုင်သည်။ ISEACOLORALOCATELOULEALEALEALEALEALEALIT လုပ်ငန်းကိုအသုံးပြုခြင်းကြောင့်အရောင်တစ်ခုချင်းစီတွင်ပွင့်လင်းမြင်သာမှုတစ်ခုထည့်နိုင်သည်။
အရောင်ဘုတ်အဖွဲ့များကိုထုတ်လုပ်သည့်အခါသင်သည်လည်း URL လိပ်စာကိုပုံ၏တစ်စိတ်တစ်ပိုင်းအဖြစ်အသုံးပြုရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, သင်သည်ပြင်ပ URL မှပုံတစ်ပုံကို တင်. အရောင်ဘုတ်နှင့်ပေါင်းစပ်ရန်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
<?php
// ဝေးလံခေါင်ဖျားဓာတ်ပုံများကိုတင်
$imageUrl = 'http://m66.net/path/to/your/image.png';
$image = imagecreatefrompng($imageUrl);
// ပုံအရွယ်အစားသတ်မှတ်ပါ
$width = imagesx($image);
$height = imagesy($image);
// output ကိုပုံ
header('Content-Type: image/png');
imagepng($image);
// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($image);
?>
ImagecreatfressMOfRMPPPG function မှတဆင့်ကျွန်ုပ်တို့သည်ပြင်ပ URLs ၏ PNG ပုံရိပ်များကိုတင်နိုင်သည်။
ImagePng ကို browser ကို output လုပ်ပါ။
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် Remote Images ကိုအရောင်ဘုတ်အဖွဲ့တွင်ပြသနိုင်ပြီး၎င်းတို့အတွက်ကွဲပြားခြားနားသောပွင့်လင်းမြင်သာမှုကိုပြသနိုင်သည်။