လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Multi-layer ပုံရိပ်များကို alpha blending နှင့်ရောနှောပါ

Multi-layer ပုံရိပ်များကို alpha blending နှင့်ရောနှောပါ

M66 2025-05-29

PHP သည်ကြွယ်ဝသောပုံရိပ်ထုတ်ယူမှုလုပ်ငန်းများကိုထောက်ပံ့ပေးသည် ဤလုပ်ဆောင်မှုသည်သင့်အားပုံသို့အရောင်များကိုသတ်မှတ်ရန်နှင့် alpha channel ကိုသတ်မှတ်ရန် Alpha channel ကိုသတ်မှတ်ရန် Alpha channel ကိုသတ်မှတ်ရန်,

1 ။ ImageColorallocatealpha function ကိုမိတ်ဆက်

အရောင်များ ကို အရောင်များသတ်မှတ်ရန်နှင့် alpha channel value ကိုသတ်မှတ်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုသည် PNG သို့မဟုတ် GIF ပုံစံများကို png သို့မဟုတ် gIF ပုံစံများကိုကိုင်တွယ်ရန်အကောင်းဆုံးဖြစ်သည်။ alpha value ကိုမှန်ကန်စွာသတ်မှတ်ခြင်းအားဖြင့်သင်သည် gradient ကိုနှင့်ပွင့်လင်းမြင်သာသောအကျိုးဆက်များကိုရရှိနိုင်သည်။

 imagecolorallocatealpha($image, $red, $green, $blue, $alpha);
  • $ Image : Image image အရင်းအမြစ်။

  • $ အနီရောင် - အနီရောင်ရုပ်သံလိုင်းတန်ဖိုး (0-255) ။

  • $ အစိမ်းရောင် - အစိမ်းရောင်ချန်နယ်တန်ဖိုး (0-255) ။

  • $ အပြာ : အပြာရောင်ရုပ်သံလိုင်းတန်ဖိုး (0-255) ။

  • $ alpha : Transparency Value (0 လုံးလုံးဝ opaque နှင့် 127 လုံးသည်လုံးဝပွင့်လင်းမြင်သာမှုရှိပါသည်။ )

2 ။ appha blending imagecolorallocatealpha ကိုအသုံးပြုပြီးပါ

Alpha Blending သည်အလွှာမျိုးစုံ၏ပုံရိပ်များကိုပုံတစ်ပုံသို့ရောစပ်ခြင်းလုပ်ငန်းစဉ်ဖြစ်သည်။ အလွှာတစ်ခုစီ၏ပွင့်လင်းမြင်သာမှုကိုထိန်းချုပ်ခြင်းအားဖြင့်အောက်ပိုင်းပုံကိုအထက်ပုံမှတစ်ဆင့်ပြသနိုင်သည်။ PHP တွင်ကျွန်ုပ်တို့သည်အလွှာတစ်ခုစီ၏ပွင့်လင်းမြင်သာမှုကို စိတ်ကူးယဉ်ဆန်ဆန်ကို အသုံးပြု. ပေါင်းစပ်ပြီးပေါင်းစပ်နိုင်သည်။

3 ။ နမူနာကုဒ်

နောက်ခံပုံနှင့်ရှေ့ပုံရုပ်ပုံများတွင်ပုံနှစ်ပုံသာရှိသည်ဆိုပါစို့။ ဤတွင်ဤအကျိုးသက်ရောက်မှုကိုရရှိရန် PHP ကုဒ်သည် PHP ကုဒ်ဖြစ်သည်။

 <?php
// နောက်ခံပုံကိုဖန်တီးပါ
$background = imagecreatefrompng('background.png'); // ကျေးဇူးပြုပြီးလမ်းကြောင်းမှန်ပေါ်ကိုအစားထိုးပါ
imagesavealpha($background, true); // သိုထား alpha အတန်း

// foreground ပုံရိပ်ကိုဖန်တီးပါ
$foreground = imagecreatefrompng('foreground.png'); // ကျေးဇူးပြုပြီးလမ်းကြောင်းမှန်ပေါ်ကိုအစားထိုးပါ
imagesavealpha($foreground, true); // သိုထား alpha အတန်း

// foreground ပုံရိပ်၏အရွယ်အစားကိုရယူပါ
$fg_width = imagesx($foreground);
$fg_height = imagesy($foreground);

// foreground ပုံ၏တည်နေရာကိုသတ်မှတ်ပါ
$x = 50; // X ညီညာစေ
$y = 50; // Y ညီညာစေ

// နောက်ခံပုံတွင် foreground image ကို overlay
imagecopy($background, $foreground, $x, $y, 0, 0, $fg_width, $fg_height);

// ပွင့်လင်းမြင်သာမှုနှင့်အတူအရောင်ဖန်တီးပါ
$transparent_color = imagecolorallocatealpha($background, 255, 255, 255, 64); // 64 ပွင့်လင်းမြင်သာမှုကိုကိုယ်စားပြုတယ်

// ပွင့်လင်းအကြောင်းအရာအချို့ဆွဲပါ(ဥပမာအားဖြင့်:နောက်ခံပေါ်တွင်အချို့သောအရောင်များထည့်ပါ)
imagefilledrectangle($background, 100, 100, 200, 200, $transparent_color);

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

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

4 ။ ကုဒ်ခွဲခြမ်းစိတ်ဖြာခြင်း

  1. ပုံများတင်ခြင်း - နောက်ခံပုံပုံရိပ်နှင့်ရှေ့ပုံရိပ်ကိုအသီးသီးဖွင့်ရန် ISECECREATEFFETFETFINGFNEMPNEMPRETFNETFINGRETFINTFETFNEMFNATION function ကိုကျွန်ုပ်တို့အသုံးပြုသည်။ ပုံနှစ်ခုစလုံးသည် PNG format နှင့် PNG format ဖြင့်ပြုလုပ်ရန်လိုအပ်သည်။

  2. Transparency ကိုစောင့်ရှောက်လော့ ။ ရုပ်ပုံသည် alpha channel အချက်အလက်များကိုသိမ်းဆည်းရန် Imagesavealpha function ကိုခေါ်ပါ။

  3. ရောနှောထားသောရုပ်ပုံ - foreground image ကိုနောက်ခံပုံပုံရိပ်ကို နောက်ခံပုံ ၏သတ်မှတ်ထားသောအနေအထားတွင် paste လုပ်ပါ။ ၎င်းသည်အလွှာမျိုးစုံကိုဖန်တီးရန်ခွင့်ပြုသည်။

  4. ပွင့်လင်းမြင်သာသောအရောင်များကိုဖန်တီးပါ ။ The Imagecolorallochoceealealealpha function ကိုပွင့်လင်းမြင်သာမှုနှင့်အရောင်များဖန်တီးရန်အသုံးပြုသည်။

  5. Output image : ImagePng ကို သုံးပါ။

5 ။ အကျဉ်းချုပ်

Imagecolorallallocatealealpha function သည်သင့်အားပုံရိပ်ရှိအရောင်များကိုပွင့်လင်းမြင်သာမှုရှိစေရန်ခွင့်ပြုသည်။ ၎င်းသည်ရေစာများ, ရုပ်ပုံများပေါင်းစပ်ခြင်း, သို့မဟုတ်အခြားပုံရိပ်အကျိုးသက်ရောက်မှုများရရှိခြင်း, ဒီဆောင်းပါးက alpha blending နည်းပညာကိုပိုမိုနားလည်သဘောပေါက်ခြင်းနှင့်အသုံးပြုမှုကိုပိုမိုနားလည်ပြီးသုံးရန်ကူညီနိုင်လိမ့်မည်ဟုမျှော်လင့်ပါ။


သင့်တွင်မေးခွန်းများရှိပါကသို့မဟုတ်နောက်ထပ်အကူအညီလိုအပ်ပါကကျွန်ုပ်အားဆက်သွယ်ပါ။