Imagecolorallocatealpha () PHP ၏ GD စာကြည့်တိုက်ကိုပုံရိပ်ထုတ်ယူခြင်းအတွက် PHP ၏ GD စာကြည့်တိုက်ကိုအသုံးပြုသောအခါအလွန်အသုံးများသော function တစ်ခုဖြစ်သည်။ ၎င်း၏ရည်ရွယ်ချက်မှာပုံရိပ်တစ်ခုအားပွင့်လင်းမြင်သာမှုနှင့်အရောင်တစ်ခုသတ်မှတ်ရန်ဖြစ်သည်။ function ကိုအဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုအောက်ပါအတိုင်းဖြစ်သည် -
int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )
ဒါဟာငါးခု parameters တွေကိုလက်ခံရရှိ:
$ Image : ImageCreate () သို့မဟုတ် imagecreatetuecolor () မှဖန်တီးထားသောပုံရိပ်အရင်းအမြစ်တစ်ခု။
$ အနီရောင် - အနီရောင်ပါဝင်ပစ္စည်း (0-255) ။
$ အစိမ်းရောင် - အစိမ်းရောင်ပါဝင်ပစ္စည်း (0-255) ။
$ အပြာ : အပြာရောင်ပါဝင်ပစ္စည်း (0-255) ။
$ alpha : Transparency (0-127, 0 0 သည်လုံးဝ opaque နှင့် 127 ခုသည်လုံးဝပွင့်လင်းမြင်သာမှုကိုဆိုလိုသည်) ။
ထို့နောက်မေးခွန်း - ကျွန်ုပ်တို့ဖြတ်သန်းသွားသောအရောင်တန်ဖိုး (ဥပမာ, အနီရောင် , $ အနီရောင် , $ အပြာ ) သည် 255 ထက်ကျော်လွန်ပါကမည်သို့ဖြစ်မည်နည်း။
Imagecolorallocealpha () function ကိုအရောင်သတ်မှတ်ခြင်းသည်အရောင်များကိုအခြေခံသည့်နံပါတ်များကို အခြေခံ. ဒီဇိုင်းရေးဆွဲထားခြင်းဖြစ်သည်။ ဆိုလိုသည်မှာအရောင်လိုင်းတစ်ခုစီ၏အများဆုံးတန်ဖိုးမှာ 255 ဖြစ်သည်။ ။
ဥပမာအားဖြင့် 255 ကျော်တန်ဖိုးကိုသင်အောင်မြင်ခဲ့ပါက -
$red = 300;
$green = 500;
$blue = 1000;
$alpha = 50;
$image = imagecreatetruecolor(200, 200);
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);
ဤရွေ့ကားအဝေးမှတန်ဖိုးများကိုအချို့သောပတ်ဝန်းကျင်တွင်သတိပေးချက်များသို့မဟုတ်အမှားအယွင်းများကိုသို့မဟုတ်အမှားအယွင်းများသို့မဟုတ်အမှားအယွင်းများသို့မဟုတ်အမှားအယွင်းများကိုသို့မဟုတ်အမှားအယွင်းများကိုတိုက်ရိုက်ဖြစ်စေနိုင်သည်။ ဘာဖြစ်လို့လဲဆိုတော့
အခြေခံကတိအကောင်အထည်ဖော်မှုသည်နိမ့်ကျ 8-bits ကိုသာယူလိမ့်မည်။ 300 သည် 300% 256 = 44 နှင့်ညီမျှသည်။
ကျော်လွန်အကွာအဝေးက code ကိုတရားမ 0 င်ပြုမူနိုင်မှုကိုဖြစ်စေနိုင်ပြီးရလဒ်များသည် PHP ဗားရှင်းသို့မဟုတ်စုစည်းခြင်းနည်းလမ်းများတွင်ကွဲပြားနိုင်သည်။
အဓိကအားဖြင့် မှလွဲ. -
Memory Write Error : အသေးအဖွဲစစ်ဆေးမှုကိုအကောင်အထည်ဖော်ပါကတန်ဖိုးကိုအခြေခံမှတ်ဉာဏ်ခွဲဝေချထားပေးခြင်းသို့တိုက်ရိုက်ပြီးလျှင်ဒေတာဖွဲ့စည်းပုံကိုပျက်စီးစေနိုင်သည်။
GD စာကြည့် တိုက် ၏အတွင်းပိုင်းကာကွယ်မှုယန္တရား - GD စာကြည့်တိုက်စာကြည့်တိုက်ဗားရှင်းအချို့က parameter range range ကိုစစ်ဆေးသည်။
PHP အမှားများသို့မဟုတ်သတိပေးချက်များ - အထူးသဖြင့်တင်းကျပ်သောအမှားစစ်ဆေးခြင်းကိုဖွင့်ထားသောအခါအကွာအဝေးတန်ဖိုးသည် e_warning သို့မဟုတ် e_notice ကို တိုက်ရိုက်ဖြစ်စေနိုင်သည်။
ဥပမာ -
$img = imagecreatetruecolor(100, 100);
$invalid_color = imagecolorallocatealpha($img, 999, 999, 999, 999);
if ($invalid_color === false) {
echo "အရောင်ခွဲဝေမှုမအောင်မြင်,ကျေးဇူးပြု. input ကိုတန်ဖိုးကိုစစ်ဆေးပါ。";
}
ဤကုဒ်တွင် 999 ကိုဖြတ်သန်းသွားပါကစနစ်သည် မှားယွင်းစွာ ပြန်ယူပြီးနောက်ဆက်တွဲပုံများကျရှုံးခြင်းဖြစ်နိုင်သည်။
အကောင်းဆုံးအလေ့အကျင့်များ
ခေါ်ဆိုခြင်းမပြုမီအတိုင်းအတာကိုလက်ဖြင့်ကန့်သတ်ပါ။
function clamp($value, $min, $max) {
return max($min, min($max, $value));
}
$red = clamp($inputRed, 0, 255);
$green = clamp($inputGreen, 0, 255);
$blue = clamp($inputBlue, 0, 255);
$alpha = clamp($inputAlpha, 0, 127);
အသုံးပြုသူ input ကိုလုံခြုံသည်ဟုမယူဆပါနှင့်။ အကယ်. ၎င်းသည်အသုံးပြုသူမှ 0 င်သောအရောင်တန်ဖိုးဖြစ်ပါက၎င်းကိုတင်းကြပ်စွာအတည်ပြုရမည်ဖြစ်သည်။
Imagecolorallocatealpha () ၏အရောင်တန်ဖိုးသည်အကွာအဝေးမှပျောက်ကွယ်သွားနိုင်သည်။ အဘယ်ကြောင့်ဆိုသော်၎င်းသည်အခြေခံ 8-bit integer နှင့် GD စာကြည့်တိုက်၏ဒီဇိုင်းအပေါ်အခြေခံသည်။ ပရိုဂရမ်တည်ငြိမ်မှုကိုသေချာစေရန်အတွက်အရောင်များအားလုံးသည်မတော်တဆပြည့်လျှံခြင်းသို့မဟုတ်အမှားများကိုရှောင်ရှားရန်မခေါ်မီ change check လုပ်ထားရမည်။