လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> dynamically rgba အရောင်ဘုတ်အဖွဲ့များထုတ်ပေး

dynamically rgba အရောင်ဘုတ်အဖွဲ့များထုတ်ပေး

M66 2025-05-24

အရောင်များနှင့်ရုပ်ပုံများကို dynamically ထုတ်လုပ်ခြင်းသည် Web Development တွင်ဘုံလိုအပ်ချက်ဖြစ်သည်။ PHP သည် imageecolorallocatealealpha သည် Transparency (RGBA) နှင့်အရောင်များကိုထုတ်လုပ်ရန်အလွန်အသုံးဝင်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဒီဆောင်းပါးကဒီ function ကို RGBA အရောင်ဘုတ်အဖွဲ့တွေကို dynamically genertically generate လုပ်ရမယ်။

1 ။ PHP Image processing ၏အခြေခံသဘောတရားများ

ပထမ ဦး စွာ PHP Image processing ကို GD စာကြည့်တိုက်မှတဆင့်အကောင်အထည်ဖော်သည်။ GD စာကြည့်တိုက်သည်ရုပ်ပုံများကိုဖန်တီးရန်, ရုပ်ပုံများကိုတည်းဖြတ်ရန်နှင့်ပုံတွင်အမျိုးမျိုး pixels များပြုလုပ်ရန်ခွင့်ပြုသည်။ Imagecolorallochoceealealpha function သည် GD စာကြည့်တိုက်တွင် 0 င်ရောက်သည့် GD စာကြည့်တိုက်အဖွဲ့ဝင်တစ် ဦး ဖြစ်သည်။

2 ။ Imagecolorallochocealpha function ကိုအသေးစိတ်ရှင်းပြချက်

ISEACOLORALOCALOULEALEALEAX function ၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha): int

parameter သည်ဖော်ပြချက်:

  • $ Image : Image image အရင်းအမြစ်။

  • $ အနီရောင် , $ အစိမ်းရောင် , $ အပြာရောင် - 0 မှ 255 အထိအထိအရောင်၏ RGB တန်ဖိုး။

  • $ alpha : 0 (လုံးဝ opaque) မှ 127 အထိ (လုံးဝပွင့်လင်းမြင်သာမှု) အထိ transparency တန်ဖိုး။

function ၏ပြန်လာတန်ဖိုးမှာပုံတစ်ပုံတွင်ဂရပ်ဆွဲရန်အသုံးပြုနိုင်သည့်အရောင်အမှတ်အသားဖြစ်သည်။

3 ။ RGBA အရောင်ဘုတ်အဖွဲ့၏ကုဒ်အကောင်အထည်ဖော်မှုကို dynamically ထုတ်ပေးသည်

မတူညီသောအရောင်များနှင့်သူတို့၏ပွင့်လင်းမြင်သာမှုကိုပြသရန် 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);
?>

ကုဒ်ရှင်းပြချက်:

  1. ကျနော်တို့က 256x256 ပုံရိပ်ကိုဖန်တီးပြီးပွင့်လင်းမြင်သာသောလိုင်းများကိုဖွင့်ရန် ImagesaveAvealpha ကိုတည်ထောင်ခဲ့သည်။

  2. Loop သုံးလွှာကို သုံး. RGB တန်ဖိုးများကိုပေါင်းစပ်ပြီးမတူညီသော RGB တန်ဖိုးများကိုပေါင်းစပ်ပြီးအရောင်များကို trueColorallocatealpha function မှတဆင့်အရောင်များကိုသတ်မှတ်ပေးသည်။

  3. IfterfilledededFangleanglefangleding function ကိုပုံရိပ်ရှိစတုဂံလုပ်ကွက်များကိုဆွဲထုတ်ရန်အသုံးပြုသည်။ စတုဂံတစ်ခုစီသည်အရောင်ကိုဖော်ပြသည်။

  4. နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည် header function မှတဆင့် browser ကို browser သို့ output လုပ်သည်။

4 ။ အရောင်ဘုတ်အဖွဲ့သက်ရောက်မှုကိုထုတ်လုပ်ပါ

အထက်ပါကုဒ်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည် 256x256 အရောင်ဘုတ်ကို browser တွင်တွေ့နိုင်သည်။ ISEACOLORALOCATELOULEALEALEALEALEALEALIT လုပ်ငန်းကိုအသုံးပြုခြင်းကြောင့်အရောင်တစ်ခုချင်းစီတွင်ပွင့်လင်းမြင်သာမှုတစ်ခုထည့်နိုင်သည်။

5 ။ URL ကိုအသုံးပြုပြီးအရောင်ဘုတ်အဖွဲ့တွင်ပုံများကိုတင်ပါ

အရောင်ဘုတ်အဖွဲ့များကိုထုတ်လုပ်သည့်အခါသင်သည်လည်း 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);
?>

ကုဒ်ရှင်းပြချက်:

  1. ImagecreatfressMOfRMPPPG function မှတဆင့်ကျွန်ုပ်တို့သည်ပြင်ပ URLs ၏ PNG ပုံရိပ်များကိုတင်နိုင်သည်။

  2. ImagePng ကို browser ကို output လုပ်ပါ။

  3. ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် Remote Images ကိုအရောင်ဘုတ်အဖွဲ့တွင်ပြသနိုင်ပြီး၎င်းတို့အတွက်ကွဲပြားခြားနားသောပွင့်လင်းမြင်သာမှုကိုပြသနိုင်သည်။