PHP တွင်အထူးသဖြင့်ရုပ်ပုံများကိုလုပ်ဆောင်ရန် GD စာကြည့်တိုက်ကိုအသုံးပြုသောအခါရုပ်ပုံများကိုအရောင်များသတ်မှတ်ရန်လိုအပ်သည်။ imagecoecoleallation () နှင့် imagecolorallalletochocapha () အရောင်များခွဲဝေချထားပေးရန်အသုံးများသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သော်လည်းလူအများစုကသူတို့စတင်သည့်အခါအဘယ်ခြားနားချက်ကဘာလဲဆိုတာလူအများကတွေးမိကြလိမ့်မည်။ သူတို့ကိုဘာကြောင့်သူတို့ကိုခွဲခြားရန်လိုအပ်သနည်း။ ဤဆောင်းပါးသည်၎င်းကိုသင့်အတွက်အသေးစိတ်လေ့လာလိမ့်မည်။
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) ။
ဤနည်းဖြင့်သတ်မှတ်ထားသောအရောင်သည် ပွင့်လင်းမြင်သာမှုမရှိဘဲခိုင်မာသောအရောင် ဖြစ်သည်။
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 ပွင့်လင်းမြင်သာမှုပြဌာန်းချက်ကို၎င်းမပါဘဲထုတ်ပေးသောပွင့်လင်းမြင်သာမှုဆိုင်ရာအချက်အလက်များဆုံးရှုံးသွားလိမ့်မည်။
အင်္ဂါရပ်များ | imagecoloranation () | imagecolorallocatealpha () |
---|---|---|
ပွင့်လင်းမြင်သာမှုရှိမရှိ | မပံ့ပိုးပါ | ထောက်ပံ့မှု, စတုတ်ထ parameter သည်ပွင့်လင်းမြင်သာမှုကိုသတ်မှတ်ပါတယ် |
အသုံးပြု | သာမန်အရောင်လုပ်ကွက်များ, လိုင်းများ, စာသားစသည်ဖြင့်ဆွဲပါ။ | ပွင့်လင်းမြင်သာသောသို့မဟုတ် Translucent သက်ရောက်မှုလိုအပ်သည့်ဒြပ်စင်များကိုဆွဲပါ |
Transparency Planit Range | ဘာမှျ | 0 (Opaque) - 127 (အပြည့်အဝပွင့်လင်းမြင်သာမှု) |
တစ်နည်းပြောရလျှင်, သင်သည်ပုံမှန်အရောင် (လုံးဝ opaque) ကို အသုံးပြု. ပုံမှန်အရောင်ကိုဆွဲရန်လိုအပ်သည်ဆိုပါက isagecolorallallallation () သည်လုံလောက်သည်။ ပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုများနှင့်အတူပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုများနှင့်အတူဂရပ်တစ်ခုကိုဆွဲဆောင်လိုပါကပွင့်လင်းမြင်သာသောနောက်ခံနှင့်ပြည့်စုံသော overlay အကျိုးသက်ရောက်မှုကိုဖန်တီးရန်သင် isagrecolorallocatealpha () ကိုသုံးရမည်။
အဓိကအကြောင်းပြချက်များမှာ
စွမ်းဆောင်နိုင်မှုပြ problem နာ - ရှင်းလင်းသောအရောင်များကိုတွက်ချက်ခြင်းနှင့်သိုလှောင်ခြင်းသည်ပွင့်လင်းမြင်သာသောသူတို့ထက်ပိုမိုရိုးရှင်းပါသည်။
လိုက်ဖက်နိုင်သည့်ပြ issues နာများ - အချို့သော output formats (ဥပမာ JPEG) သည်ပွင့်လင်းမြင်သာမှုကိုသူတို့ကိုယ်တိုင်ဖြင့်မထောက်ခံပါ။ ထို့ကြောင့်ပွင့်လင်းမြင်သာသောအရောင်များကိုအသုံးပြုရန်အဓိပ္ပာယ်မရှိပါ။
Code Clipetity - ပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုများလိုအပ်သည့်အခါနှင့်မလိုအပ်သည့်အခါ၎င်းတို့မလိုအပ်သည့်အခါ code ကိုဆက်လက်ထိန်းသိမ်းရန်လွယ်ကူစေသည်။
အကယ်. သင်သည် ISEACOLORALOCLOULEALEPLA ကို သာအသုံးပြုပါကအသုံးမကျသောတွက်ချက်မှုများကိုတိုးပွားစေရုံသာမကလိုက်လျောညီထွေဖြစ်အောင်ပြ issues နာများကိုလည်းမတူပါ။
? အကယ် . သင်သည်ရိုးရှင်းသောရုပ်ပုံများဖြည့်စွက်ခြင်း, ဆွဲခြင်းမျဉ်းများနှင့်စာသားထည့်ခြင်းဆိုပါက,
? PNGTATENENT နှင့် Translarment အလွှာဖြင့်ရေစာရှုစရာတစ်ခုပြုလုပ်ရန်လိုအပ်ပါက imagecolorallocatealpha () ကို သုံးရန် () ကို တစ်ချိန်တည်းတွင်ဖွင့်ရန်သတိရပါ။