PHP တွင် GD စာကြည့်တိုက်ကိုပုံဖော်ခြင်းအတွက် GD စာကြည့်တိုက်ကိုအသုံးပြုသောအခါ Imagecolorallocatealealealealealealealpha function ကိုပုံရိပ်များကိုပုံဖော်ရန်အသုံးပြုသည်။ အထူးသဖြင့်ပွင့်လင်းမြင်သာမှုကိုအသုံးပြုရန်လိုအပ်သည်။ ဤလုပ်ဆောင်ချက်၏ရည်ရွယ်ချက်မှာပွင့်လင်းမြင်သာမှုနှင့်အရောင်ကိုသတ်မှတ်ရန်ဖြစ်သည်။ သို့သော်ဤလုပ်ဆောင်မှုကိုအသုံးပြုသောအခါတစ်ခါတစ်ရံတွင်အရောင်ခွဲဝေမှုပျက်ကွက်ခြင်းနှင့် မှားယွင်းသော အခြေအနေများကိုသင်ကြုံတွေ့ရလိမ့်မည်။
အဆိုပါ Imagecolorallochocatealealpha function ကိုအောက်ပါအတိုင်းသတ်မှတ်ထားသည်။
int imagecolorallocatealpha ( resource $image, int $red, int $green, int $blue, int $alpha )
$ Image : image image အရင်းအမြစ် ( imagecreate () သို့မဟုတ် imagecreatefeleat မှတစ်ဆင့်ဖန်တီးထားသော image actabline ဖန်တီးထားသော image abussion) * () )) ။
$ အနီရောင် , $ အစိမ်းရောင် , $ အပြာရောင် - အနီရောင်, အစိမ်းရောင်နှင့်အပြာရောင်တို့၏အရောင်များကို 0 မှ 255 အထိတန်ဖိုးများနှင့်အတူအနီရောင်, အစိမ်းနှင့်အပြာအစိတ်အပိုင်းများကိုကိုယ်စားပြုသည်။
$ alpha : Transparency, 0 မှ 127 အထိတန်ဖိုးရှိတန်ဖိုးများနှင့်အတူ 0 င်, 0 င်သည်လုံးဝ opaque နှင့် 127 လုံးကိုလုံးဝပွင့်လင်းမြင်သာကြောင်းဆိုလိုသည်။
အောင်မြင်ပါကလုပ်ဆောင်ချက်သည်နောက်ဆက်တွဲပုံများအတွက်အရောင်သတ်မှတ်ချက်ကိုပြန်လည်ရရှိခဲ့သည်။ အကယ်. ၎င်းသည်မအောင်မြင်ပါက မှားသည် ။
မမှန်ကန်သောပုံအရင်းအမြစ်များ <br> <br> ISEACOLORALOCATEALEALAISHA ကိုမခေါ်မီ, အဝင် Image အရင်းအမြစ်များသည်မှန်ကန်ကြောင်းသေချာစေရမည်။ အကယ်. Image Resource သည်မမှန်ကန်ပါက function သည် မှားယွင်းသော ပြန်လာသည်။ ပုံကြမ်းအရင်းအမြစ်သည်မှန်ကန်မှုရှိမရှိစစ်ဆေးရန်နည်းလမ်းမှာ is_Resource () function ကိုအသုံးပြုရန်ဖြစ်သည်။
နမူနာကုဒ်:
if (!is_resource($image)) {
die("Invalid image resource.");
}
အကွာအဝေးထဲကအရောင်တန်ဖိုး
အနီရောင် , အစိမ်းရောင် နှင့် အပြာရောင် ၏တန်ဖိုးများသည် 0 နှင့် 255 အကြားဖြစ်သင့်သည် ။ အကယ်. လွန်သွားသောအရောင်တန်ဖိုးသည်ဤအကွာအဝေးပြင်ပရှိလျှင် function ကိုပျက်ကွက်လိမ့်မည်။ မှန်ကန်သောအရောင်တန်ဖိုးကိုစစ်ဆေးခြင်းနှင့်သေချာစေရန်ပျက်ကွက်ခြင်းသည်ပျက်ကွက်ခြင်းကိုရှောင်ရှားရန်သော့ချက်ဖြစ်သည်။
နမူနာကုဒ်:
$red = min(max($red, 0), 255);
$green = min(max($green, 0), 255);
$blue = min(max($blue, 0), 255);
မမှန်ကန်သောပွင့်လင်းမြင်သာမှုတန်ဖိုး <br> <br> Transparency ၏တန်ဖိုး alpha parameter သည် 0 နှင့် 127 အကြားဖြစ်သင့်သည်။ မမှန်ကန်သောတန်ဖိုးကိုမပြည့်စုံလျှင်၎င်းသည်လုပ်ဆောင်ချက်သည်အရောင်များကို သတ်မှတ်. မရပါ။ alpha တန်ဖိုးကိုမှန်ကန်သောအကွာအဝေးအတွင်းတွင်ရှိကြောင်းသေချာပါစေ။
နမူနာကုဒ်:
$alpha = min(max($alpha, 0), 127);
GD စာကြည့်တိုက်ကိုမှန်ကန်စွာ install လုပ်ခြင်းသို့မဟုတ်ပြင်ဆင်ခြင်းမရှိပါ အကယ်. GD စာကြည့်တိုက်ကို PHP ပတ် 0 န်းကျင်တွင်စနစ်တကျ install လုပ်ခြင်းသို့မဟုတ်ပြင်ဆင်ခြင်းမရှိပါက isionecolorallochocealpha function ကိုအသုံးမပြုပါ။ အောက်ပါကုဒ်ကိုဖွင့်ခြင်းဖြင့် GD စာကြည့်တိုက်ကို Install လုပ်ခြင်းရှိမရှိကိုသင်စစ်ဆေးနိုင်သည်။
if (!extension_loaded('gd')) {
die("GD library is not installed.");
}
မှတ်ဥာဏ်မလုံလောက်ခြင်း Image File သည်အလွန်ကြီးမားသည့်အခါသို့မဟုတ်ဆာဗာတွင်မှတ်ဉာဏ်မလုံလောက်ပါက GD စာကြည့်တိုက်သည်မှတ်ဥာဏ်အကန့်အသတ်များကြောင့် ISEACOLORALOCEPLA function ကိုခွဲဝေချထားပေးရန်ပျက်ကွက်နိုင်သည်။ ဆာဗာ၏မှတ်ဉာဏ်ကန့်သတ်ချက်ကိုစစ်ဆေးပြီးလိုအပ်သောအကောင်းဆုံးလုပ်ပါ။
ISEACOLORALOCALEALELOLEALEALEAL ကို မ လှည့် စားနိုင်ကြောင်းသေချာစေရန်သင်ကတားဆီးရန်အောက်ပါနည်းလမ်းများကိုယူနိုင်သည်။
Image အရင်းအမြစ်များသည်ထိရောက်သောအရာများဖြစ်သည် ။
Image အရင်းအမြစ်သည် function ကိုမခေါ်မီတရားဝင်သည်ကိုစစ်ဆေးပါ။
if (!is_resource($image)) {
die("Invalid image resource.");
}
အရောင်နှင့်ပွင့်လင်းမြင်သာချက်များတန်ဖိုးများကိုစစ်ဆေးပါ ။
0 င်လာသည့်အရောင်နှင့်ပွင့်လင်းမြင်သာမှုတန်ဖိုးများသည်ခိုင်လုံသောအကွာအဝေးအတွင်းရှိနိုင်ကြောင်းသေချာစေရန်နှင့်နေရာအနှံ့အပြားကြောင့်ခွဲဝေမှုမအောင်မြင်မှုများကိုရှောင်ရှားကြောင်းသေချာပါစေ။
$red = min(max($red, 0), 255);
$green = min(max($green, 0), 255);
$blue = min(max($blue, 0), 255);
$alpha = min(max($alpha, 0), 127);
GD စာကြည့်တိုက်ကိုတပ်ဆင်ထားခြင်းရှိမရှိစစ်ဆေးပါ ။
GD စာကြည့်တိုက်ကို install လုပ်ပြီးမှန်ကန်စွာဖွင့်ထားပါ။
if (!extension_loaded('gd')) {
die("GD library is not installed.");
}
PHP Memory ကန့်သတ်ချက်ကိုတိုးမြှင့်ပါ
အကယ်. သင်သည်မှတ်ဥာဏ်ပြ problems နာများကြုံတွေ့ရပါက PHP ၏မှတ်ဉာဏ်ကန့်သတ်ချက်ကိုတိုးမြှင့်နိုင်သည်။
ini_set('memory_limit', '256M');
အမှားကိုင်တွယ်သူယန္တရားကိုသုံးပါ ။
ပြ problems နာများပေါ်ပေါက်လာသောအခါအမှားများကိုဖမ်းရန် @ သင်္ကေတသို့မဟုတ် try-catch block ကိုသုံးပါ။
$color = @imagecolorallocatealpha($image, $red, $green, $blue, $alpha);
if ($color === false) {
die("Failed to allocate color.");
}
Imagecolorallocatealealealpha function သည်အထူးသဖြင့်ပုံရိပ်ပွင့်လင်းထိန်းချုပ်မှုလိုအပ်သည့်အခါအလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ သို့သော် ဘုံ ပြ problems နာများကြောင့် (မမှန်ကန်သောပုံရိပ်အရင်းအမြစ်များ, ပြင်ပအရောင်များ, ပုံရိပ်အရင်းအမြစ်များ၏တရားဝင်မှုကိုစစ်ဆေးခြင်း, အရောင်အသွေးစုံခြင်းနှင့်ပွင့်လင်းမြင်သာမှုကိုစစ်ဆေးခြင်းအားဖြင့်၎င်းကိုထိထိရောက်ရောက်ရှောင်ရှားနိုင်သည်။