လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> isagecolorallallallallallallalletoce () isagecolorallocatealpha နှင့်အတူ ()

isagecolorallallallallallallalletoce () isagecolorallocatealpha နှင့်အတူ ()

M66 2025-05-22

PHP တွင်အထူးသဖြင့်ရုပ်ပုံများကိုလုပ်ဆောင်ရန် GD စာကြည့်တိုက်ကိုအသုံးပြုသောအခါရုပ်ပုံများကိုအရောင်များသတ်မှတ်ရန်လိုအပ်သည်။ imagecoecoleallation () နှင့် imagecolorallalletochocapha () အရောင်များခွဲဝေချထားပေးရန်အသုံးများသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သော်လည်းလူအများစုကသူတို့စတင်သည့်အခါအဘယ်ခြားနားချက်ကဘာလဲဆိုတာလူအများကတွေးမိကြလိမ့်မည်။ သူတို့ကိုဘာကြောင့်သူတို့ကိုခွဲခြားရန်လိုအပ်သနည်း။ ဤဆောင်းပါးသည်၎င်းကိုသင့်အတွက်အသေးစိတ်လေ့လာလိမ့်မည်။

1 ?? အခြေခံနားလည်မှု - ISESECOLORALANALALALALANEANE ()?

imagecoloranation () သည် PHPG GD စာကြည့်တိုက်တွင် function တစ်ခုဖြစ်သည်။

အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 <?php
$img = imagecreatetruecolor(200, 200);
$red = imagecolorallocate($img, 255, 0, 0); // နီသော
imagefill($img, 0, 0, $red);
imagepng($img, 'https://m66.net/output.png');
imagedestroy($img);
?>

ဒါဟာလေးခု parameters တွေကိုလက်ခံသည်:

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

  • $ အနီရောင် - အနီရောင်ပါဝင်ပစ္စည်း (0-255);

  • $ အစိမ်းရောင် - အစိမ်းရောင်ပါဝင်ပစ္စည်း (0-255);

  • $ အပြာ : အပြာရောင်ပါဝင်ပစ္စည်း (0-255) ။

ဤနည်းဖြင့်သတ်မှတ်ထားသောအရောင်သည် ပွင့်လင်းမြင်သာမှုမရှိဘဲခိုင်မာသောအရောင် ဖြစ်သည်။

2 ?? ISEACOLORALOCALEALEALEPHA ()?

Imagecolorallocatealpha () သည် isagecolorallallalleration နေရာကို အခြေခံ. တိုးမြှင့်ဗားရှင်းတစ်ခုဖြစ်ပြီး၎င်းသည် Transparency (Alpha Channel) ကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။

၎င်း၏ parameters တွေကိုအောက်ပါအတိုင်းဖြစ်သည် -

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

  • $ အနီရောင် - အနီရောင်ပါဝင်ပစ္စည်း (0-255);

  • $ အစိမ်းရောင် - အစိမ်းရောင်ပါဝင်ပစ္စည်း (0-255);

  • $ အပြာ : အပြာရောင်ပါဝင်ပစ္စည်း (0-255);

  • $ alpha : Transparency (0-127), 0 ကိုလုံးဝအသုံးမပြု,

ဥပမာအားဖြင့်:

 <?php
$img = imagecreatetruecolor(200, 200);
imagesavealpha($img, true); // သိမ်းဆည်းပါ alpha အတန်း
$transparentRed = imagecolorallocatealpha($img, 255, 0, 0, 63); // 半透明နီသော
imagefill($img, 0, 0, $transparentRed);
imagepng($img, 'https://m66.net/output_transparent.png');
imagedestroy($img);
?>

Imagesavealpha () ဤတွင်အရေးကြီးသည်။ PNG ပွင့်လင်းမြင်သာမှုပြဌာန်းချက်ကို၎င်းမပါဘဲထုတ်ပေးသောပွင့်လင်းမြင်သာမှုဆိုင်ရာအချက်အလက်များဆုံးရှုံးသွားလိမ့်မည်။

3 ?? အဓိကခြားနားချက်ကဘာလဲ။

အင်္ဂါရပ်များ imagecoloranation () imagecolorallocatealpha ()
ပွင့်လင်းမြင်သာမှုရှိမရှိ မပံ့ပိုးပါ ထောက်ပံ့မှု, စတုတ်ထ parameter သည်ပွင့်လင်းမြင်သာမှုကိုသတ်မှတ်ပါတယ်
အသုံးပြု သာမန်အရောင်လုပ်ကွက်များ, လိုင်းများ, စာသားစသည်ဖြင့်ဆွဲပါ။ ပွင့်လင်းမြင်သာသောသို့မဟုတ် Translucent သက်ရောက်မှုလိုအပ်သည့်ဒြပ်စင်များကိုဆွဲပါ
Transparency Planit Range ဘာမှျ 0 (Opaque) - 127 (အပြည့်အဝပွင့်လင်းမြင်သာမှု)

တစ်နည်းပြောရလျှင်, သင်သည်ပုံမှန်အရောင် (လုံးဝ opaque) ကို အသုံးပြု. ပုံမှန်အရောင်ကိုဆွဲရန်လိုအပ်သည်ဆိုပါက isagecolorallallallation () သည်လုံလောက်သည်။ ပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုများနှင့်အတူပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုများနှင့်အတူဂရပ်တစ်ခုကိုဆွဲဆောင်လိုပါကပွင့်လင်းမြင်သာသောနောက်ခံနှင့်ပြည့်စုံသော overlay အကျိုးသက်ရောက်မှုကိုဖန်တီးရန်သင် isagrecolorallocatealpha () ကိုသုံးရမည်။

4 ?? သူတို့ကိုအဘယ်ကြောင့်ခွဲခြား?

အဓိကအကြောင်းပြချက်များမှာ

  • စွမ်းဆောင်နိုင်မှုပြ problem နာ - ရှင်းလင်းသောအရောင်များကိုတွက်ချက်ခြင်းနှင့်သိုလှောင်ခြင်းသည်ပွင့်လင်းမြင်သာသောသူတို့ထက်ပိုမိုရိုးရှင်းပါသည်။

  • လိုက်ဖက်နိုင်သည့်ပြ issues နာများ - အချို့သော output formats (ဥပမာ JPEG) သည်ပွင့်လင်းမြင်သာမှုကိုသူတို့ကိုယ်တိုင်ဖြင့်မထောက်ခံပါ။ ထို့ကြောင့်ပွင့်လင်းမြင်သာသောအရောင်များကိုအသုံးပြုရန်အဓိပ္ပာယ်မရှိပါ။

  • Code Clipetity - ပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုများလိုအပ်သည့်အခါနှင့်မလိုအပ်သည့်အခါ၎င်းတို့မလိုအပ်သည့်အခါ code ကိုဆက်လက်ထိန်းသိမ်းရန်လွယ်ကူစေသည်။

အကယ်. သင်သည် ISEACOLORALOCLOULEALEPLA ကို သာအသုံးပြုပါကအသုံးမကျသောတွက်ချက်မှုများကိုတိုးပွားစေရုံသာမကလိုက်လျောညီထွေဖြစ်အောင်ပြ issues နာများကိုလည်းမတူပါ။

5 ?? လက်တွေ့ကျသောအကြံဥာဏ်

? အကယ် . သင်သည်ရိုးရှင်းသောရုပ်ပုံများဖြည့်စွက်ခြင်း, ဆွဲခြင်းမျဉ်းများနှင့်စာသားထည့်ခြင်းဆိုပါက,

? PNGTATENENT နှင့် Translarment အလွှာဖြင့်ရေစာရှုစရာတစ်ခုပြုလုပ်ရန်လိုအပ်ပါက imagecolorallocatealpha () ကို သုံးရန် () ကို တစ်ချိန်တည်းတွင်ဖွင့်ရန်သတိရပါ။