လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> GD ပုံရိပ်တွေမှာ RGBA အရောင်များကိုဘယ်လိုသတ်မှတ်ရမလဲ

GD ပုံရိပ်တွေမှာ RGBA အရောင်များကိုဘယ်လိုသတ်မှတ်ရမလဲ

M66 2025-05-20

PHP တွင် GD Image Processing Library သည်ရုပ်ပုံများကိုထုတ်လုပ်ခြင်း, စာသားများနှင့်ပုံစံမျိုးစုံဆွဲခြင်း, RGBA အရောင်များကိုပုံဆွဲခြင်း,

Imagecolorallocatealealpha သည် PHP GD တွင်အရောင်များကိုပွင့်လင်းမြင်သာမှုရှိစေရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုဖြင့်ရုပ်ပုံများကို Transparency Color နှင့်ပုံဖော်နိုင်သည့်ပုံရိပ်ကို transparency အရောင်ဖြင့်သတ်မှတ်နိုင်သည်။ ဤဆောင်းပါးသည် RGBA အရောင်များကိုပုံရိပ်များအတွက် abga အရောင်များကိုသတ်မှတ်ရန် ISESECOLORALOCALEalPHA ကို မည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။

1 ။ ISESECOLORALOCALEALEALPHA ဆိုတာဘာလဲ။

Imagecolorallocatealealealpha function ကိုပုံရိပ်တွေကိုအရောင်တွေကိုသတ်မှတ်ပြီးပွင့်လင်းမြင်သာမှုအပါအ 0 င် RGBA မော်ဒယ်တွေကိုထောက်ပံ့ပေးဖို့အသုံးပြုတယ်။

 int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )
  • $ Image : Image image အရင်းအမြစ်, များသောအားဖြင့် ImageCreatetRuecolor () သို့မဟုတ်အခြားလုပ်ဆောင်ချက်များကိုဖန်တီးထားသောပုံတစ်ပုံ။

  • $ အနီရောင် , $ အစိမ်းရောင် , $ အပြာရောင် - 0 မှ 255 အထိအနီ, အစိမ်းရောင်နှင့်အပြာအစိတ်အပိုင်းများ၏တန်ဖိုးများကိုအသီးသီးခွဲခြားသတ်မှတ်သည်။

  • $ alpha : အရောင်ပွင့်လင်းမြင်သာမှုသည် 0 (အပြည့်အ 0 အသုံးချခြင်း) မှ 127 အထိ (အပြည့်အဝပွင့်လင်းမြင်သာမှု) အထိသတ်မှတ်သည်။

ပြန်လာသောတန်ဖိုးသည် trading operations များတွင်အသုံးပြုနိုင်သည့်သတ်မှတ်ထားသောအရောင်၏အညွှန်းကိန်းဖြစ်သည်။

2 ။ နမူနာကုဒ်: ImageColorallocAlealealpha ကို အသုံးပြု. ပွင့်လင်းနောက်ခံအရောင်ကိုဘယ်လိုသတ်မှတ်ရမလဲ။

အောက်ဖော်ပြပါကုဒ်သည် trueColorallocealealealpha function ကို အသုံးပြု. ပွင့်လင်းသောနောက်ခံအရောင်ကိုမည်သို့ပြုလုပ်ရမည်ကိုပြသသည်။

 <?php
// အလွတ်ပုံရိပ်အရင်းအမြစ်တစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(400, 400);

// နောက်ခံအရောင်ကိုအဖြူရောင်သို့သတ်မှတ်ပါ
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

// အသုံးပြု imagecolorallocatealpha ပွင့်လင်းမြင်သာမှုနှင့်အတူအရောင် assign
$transparentColor = imagecolorallocatealpha($image, 255, 0, 0, 50);  // နီသော,ပွင့်လင်းမြင်သာမှု50

// ပွင့်လင်းနောက်ခံနှင့်စတုဂံဆွဲပါ
imagefilledrectangle($image, 50, 50, 350, 350, $transparentColor);

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

// ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီး
imagedestroy($image);
?>

ဤကုဒ်တွင် 400x400 ၏ပုံရိပ်ကိုနောက်ခံအရောင်ဖြင့်အဖြူရောင်ဖြင့်ဖန်တီးပြီးနောက် transparency (Transparency တန်ဖိုး 50) နှင့်အနီရောင်အရောင်ကိုသုံးရန် ISEACOLOLOCALEALELA ကို အသုံးပြုပါ။ ထို့နောက်ကျွန်ုပ်တို့သည်အရောင်များကိုပွင့်လင်းမြင်သာသောနောက်ခံနှင့်စတုဂံဆွဲရန်ထိုအရောင်ကိုအသုံးပြုသည်။

3 ။ RGBA အရောင်မော်ဒယ်လ်

RGBA အရောင်မော်ဒယ်တွင် Transparency (Alpha) သည်အလွန်အရေးကြီးသော parameter တစ်ခုဖြစ်သည်။ ၎င်းသည်အလွန်အရေးကြီးသော parameter တစ်ခုဖြစ်သည်။ ၎င်းသည်အရောင်၏ပွင့်လင်းမြင်သာမှုကိုထိန်းချုပ်ရန်ခွင့်ပြုသည်။ ပွင့်လင်းမြင်သာမှုတန်ဖိုးပိုမိုမြင့်မားလေလေအရောင်များကိုပိုမိုပွင့်လင်းမြင်သာလေဖြစ်သည်။ ဥပမာအားဖြင့်:

  • alpha = 0 : လုံးဝ opaque

  • alpha = 127 : လုံးဝပွင့်လင်း

Transparency Effects များသည် transients, shadows သို့မဟုတ်အခြားပုံရိပ်အကျိုးသက်ရောက်မှုများကိုဖန်တီးရန်အသုံးပြုသည်။

4 ။ ရုပ်ပုံများအတွက် gradient ကိုအကျိုးသက်ရောက်မှုများအကောင်အထည်ဖော်

Imagecolorallocatealealpha ကိုလည်း Gradient Effects ကိုရရှိရန်အထူးသဖြင့်အသွင်ကူးပြောင်းမှုကိုတဖြည်းဖြည်းပွင့်လင်းမြင်သာမှုကိုညှိခြင်းအားဖြင့်လည်းအသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်, သင်သည်နောက်ခံပုံကိုပွင့်လင်းမြင်သာသော gradient ဖြင့်ဖန်တီးနိုင်သည်။

 <?php
$image = imagecreatetruecolor(500, 500);

// နောက်ခံနှင့် gradient အရောင်များကိုဖန်တီးပါ
$white = imagecolorallocate($image, 255, 255, 255);
$gradStart = imagecolorallocatealpha($image, 0, 0, 255, 0); // ပြာသော
$gradEnd = imagecolorallocatealpha($image, 0, 0, 255, 127); // ပြာသော,Transparency Gradient

// နောက်ခံဖြည့်ပါ
imagefill($image, 0, 0, $white);

// gradient ကိုစတုဂံဆွဲပါ
for ($i = 0; $i <= 500; $i++) {
    $color = imagecolorallocatealpha($image, 0, 0, 255, ($i / 500) * 127); // Transparency Gradient
    imageline($image, 0, $i, 500, $i, $color);
}

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

// အရင်းအမြစ်များကိုဖျက်ဆီးသည်
imagedestroy($image);
?>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်ပွင့်လင်းမြင်သာမှုတန်ဖိုးကိုညှိခြင်းဖြင့်လုံးလုံးပွင့်လင်းမြင်သာမှုရှိစေရန်အပြည့်အဝပွင့်လင်းမြင်သာမှုရှိစေရန် GARIENT အကျိုးသက်ရောက်မှုကိုရရှိရန်ဖြစ်သည်။

5 ။ မကြာခဏမေးသောမေးခွန်းများနှင့်ကြိုတင်ကာကွယ်မှုများ

  • Image format - ပွင့်လင်းမြင်သာမှုဆိုင်ရာအကျိုးသက်ရောက်မှုများကိုများသောအားဖြင့် PNG ကဲ့သို့သောပွင့်လင်းမြင်သာမှုများကိုသာအသုံးပြုနိုင်ကြောင်းသတိပြုပါ။ JPEG ပုံစံဖြင့်သိမ်းဆည်းပါကပွင့်လင်းမြင်သာမှုပျောက်ဆုံးသွားလိမ့်မည်။

  • Browser compatibatibility - သင်၏ browser တွင်ရုပ်ပုံများကိုပွင့်လင်းမြင်သာမှုဖြင့်ကြည့်လိုပါကပုံသည် output ကိုမှန်ကန်စွာမှန်ကန်စွာမှန်ကန်စွာသေချာစွာလုပ်ပါ

အထက်ပါကုဒ်များနှင့်ဥပမာများဖြင့်ရုပ်ပုံများကိုပုံရိပ်အကျိုးသက်ရောက်မှုများရရှိရန်အတွက်ပွင့်လင်းမြင်သာသော RGBA အရောင်များကိုပုံဖော်ရန်အတွက် ပုံသေ တပ်ဖွဲ့များအားအလွယ်တကူအသုံးပြုနိုင်သည်။ အကယ် . သင်သည်အခြားပုံရိပ်များကိုပွင့်လင်းမြင်သာသောနောက်ခံနှင့်အခြားရှုပ်ထွေးသောသက်ရောက်မှုများသို့မဟုတ်အခြားရှုပ်ထွေးသောပုံရိပ်ပြုပြင်ခြင်း,