လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Translucent အရောင်များကိုသတ်မှတ်ရန် ISEACOLORALOCALEALEALEATY ကိုသုံးပါ

Translucent အရောင်များကိုသတ်မှတ်ရန် ISEACOLORALOCALEALEALEATY ကိုသုံးပါ

M66 2025-06-05

PHP တွင်, isionecolorallallocatealpha () function ကိုဖန်တီးထားသောပုံရိပ်ကိုပွင့်လင်းမြင်သာမှုနှင့်အတူအရောင်သတ်မှတ်ရန်အသုံးပြုသည်။ အထူးသဖြင့် PNG ရုပ်ပုံများသို့မဟုတ် alpha chinnels များကိုထောက်ပံ့သော PNG ရုပ်ပုံများနှင့်အလုပ်လုပ်ရန်အတွက်ပွင့်လင်းမြင်သာသောရုပ်ပုံများကိုလုပ်ဆောင်ရန်အသုံးပြုလေ့ရှိသည်။

1 ။ function ရှေ့ပြေးပုံစံ

 int imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha)
  • $ Image : Image image အရင်းအမြစ်, များသောအားဖြင့် imagecreate () သို့မဟုတ် imagecreatefeletefelet * () functions မှဖန်တီးထားသောပုံရိပ်။

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

  • $ alpha : 0 (လုံးဝ opaque) မှ 127 အထိ (လုံးဝပွင့်လင်းမြင်သာမှု) အထိ transparency တန်ဖိုး။ ပွင့်လင်းမြင်သာမှုအကျိုးသက်ရောက်မှုသည်အချို့သောပုံအမျိုးအစားများ (ဥပမာ PNG) တွင်သာပေါ်လာလိမ့်မည်။

2 ။ နမူနာကုဒ်

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

 <?php
// a 200x200 ရုပ်ပုံများ
$image = imagecreatetruecolor(200, 200);

// ပုံရိပ်အတွက်ပွင့်လင်းနောက်ခံကိုသတ်မှတ်ပါ
imagesavealpha($image, true);
$transparency = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparency);

// ပုံအတွက် Translucent အနီရောင်ကိုသတ်မှတ်ပါ
$red = imagecolorallocatealpha($image, 255, 0, 0, 64);

// Translucent အနီရောင်စတုဂံဆွဲပါ
imagefilledrectangle($image, 50, 50, 150, 150, $red);

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

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

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

  1. Image Resource ကိုဖန်တီးပါImagecreatetRuecolor () ကိုအသုံးပြုပါ။

  2. Alpha channel အချက်အလက်အချက်အလက်များကိုသိမ်းဆည်းပါ ။ alpha channel ကိုသိမ်းဆည်းရန် imagesavealpha () ကိုသုံးပါ။ ဒီလိုမှမဟုတ်ရင်ပွင့်လင်းမြင်သာမှု setting ကိုမမှန်ကန်ပါလိမ့်မယ်။

  3. ပွင့်လင်းမြင်သာသောနောက်ခံကိုသတ်မှတ်ပါ - Transparency Device (127 ) တွင် Transparency တန်ဖိုးဖြင့် Transparency Device () မှတဆင့်ကြည်လင်သောအရောင်တစ်ခုသတ်မှတ်ပါ, ၎င်းသည်လုံးဝပွင့်လင်းမြင်သာမှုရှိသည်။ ထို့နောက်ပုံရိပ်တစ်ခုလုံး၏နောက်ခံကိုပွင့်လင်းမြင်သာမှုအဖြစ်ဖြည့်ဆည်းရန် imageflem () ကိုသုံးပါ။

  4. Translucive Red ကို Set Translucen Red ကို သုံး. alpha တန်ဖိုး 64 (တန်ဖိုးသေးငယ်လေလေ) alpha valule (တန်ဖိုးကိုပိုမိုမြင့်မားလေလေ)

  5. စတုဂံတစ်ခုကိုပုံဖော်ပါ

  6. Output image : ImagePng () ကိုသုံးပါ။ ပုံရိပ်ကို output လုပ်ပါ, content-type ကို image / PNG သို့သတ်မှတ်ပါ။

  7. အရင်းအမြစ်များကိုဖျက်ဆီးခြင်း - ပုံရိပ်အရင်းအမြစ်များကို iceousestroy () နှင့်မှတ်ဉာဏ်ကိုအခမဲ့ဖယ်ရှားပါ။

4 ။ မှတ်စုများ

  • Transparency ကို transparency ကိုရေးဆွဲရာတွင် isagecolorallocealpha ကို သုံး. () , ပုံသည် alpha channel (ဥပမာ PNG) ကိုထောက်ပံ့သောအမျိုးအစားဖြစ်ရမည်။ JPEG ပုံစံသည်ပွင့်လင်းမြင်သာမှုကိုမထောက်ခံပါ။

  • Transparency Effects သည် browser တွင်ပြသသောအခါ browser ၏ cache သို့မဟုတ် rendering settings များကြောင့်ထိခိုက်နိုင်သည်။

  • ပုံရိပ်အရွယ်အစား, ပွင့်လင်းမြင်သာမှုနှင့်အရောင်ရွေးချယ်ခြင်းသည်နောက်ဆုံးပုံရိပ်အကျိုးသက်ရောက်မှုများ၏လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်ရန်သေချာပါစေ။

5 ။ မကြာခဏမေးသောမေးခွန်းများ

Q1: ပုံတစ်ပုံအတွက်ပွင့်လင်းမြင်သာမှုနောက်ခံတစ်ခုဘယ်လိုသတ်မှတ်ရမလဲ။

imagecolorallocatealpha () ကို သုံး. ပုံတစ်ခုလုံးကိုဖြည့်ပြီးပုံရိပ်တစ်ခုလုံးကိုဖြည့်စွက်ပြီးပုံတစ်ခုလုံးကိုဖြ ည့ ်စွက်နိုင်သည်။ ဥပမာအားဖြင့်:

 $transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparent);

Q2: စာသားကိုပွင့်လင်းမြင်သာမှုနောက်ခံနဲ့ဘယ်လိုဆွဲရမလဲ။

သင်သည် imagecolorallocatealpha () မှဖန်တီးထားသောအရောင်များကိုသင်သုံးနိုင်သည်။ ဥပမာအားဖြင့်:

 $white = imagecolorallocatealpha($image, 255, 255, 255, 64);
imagestring($image, 5, 50, 50, 'Hello, World!', $white);

6 ။ နိဂုံးချုပ်

Imagecolorallocatealealpha ကို အသုံးပြုခြင်းအားဖြင့်သင်သည်ရုပ်ပုံများအတွက်ပွင့်လင်းမြင်သာမှုနှင့်ပွင့်လင်းမြင်သာမှုအမျိုးမျိုးကိုရရှိနိုင်သည်။ ၎င်းသည်ရေစာအမှတ်အသားများ, ပွင့်လင်းမြင်သာသော icon များသို့မဟုတ် semi-transparent သက်ရောက်မှုလိုအပ်သည့်အခြားပုံများဖန်တီးခြင်းအတွက်အလွန်အသုံးဝင်သည်။ ဤလုပ်ဆောင်မှုကိုကျွမ်းကျင်ခြင်းကသင့်အားရုပ်ပုံများကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိရန်သင့်အားခွင့်ပြုလိမ့်မည်။