PHP ကိုအသုံးပြုမှုအတွက် PHP ကိုအသုံးပြုသောအခါပွင့်လင်းမြင်သာမှုနှင့်အရောင်များကိုသတ်မှတ်ရန် ISEACOLORALOCATELEALPHA () function ကိုသုံးနိုင်သည်။ ဒီ function ကရုပ်ပုံကိုအရောင်တစ်ခုသတ်မှတ်ပြီးပွင့်လင်းမြင်သာမှုကိုသတ်မှတ်ပေးတယ်။ ဤပွင့်လင်းမြင်သာမှုကိုမကြာခဏ PNG သို့မဟုတ် GIF ပုံရိပ်များကိုထုတ်လုပ်သည့်အခါမကြာခဏဆိုသလိုပွင့်လင်းမြင်သာသောဒေသများဖန်တီးရန်မကြာခဏအသုံးပြုလေ့ရှိသည်။
သို့သော်တစ်ခါတစ်ရံတွင် isionecolorallocatealpha () function ကိုအသုံးပြုသော်လည်းပွင့်လင်းမြင်သာမှုရှိခဲ့သော်လည်းပွင့်လင်းမြင်သာမှုသည်ပွင့်လင်းမြင်သာမှုကိုမဖော်ပြထားပါ။ ဘာကြောင့်ဒီလိုဖြစ်ရတာလဲ ဒီဆောင်းပါးမှာဒီပြ problem နာကိုဖြစ်စေတဲ့အကြောင်းရင်းတွေကိုလေ့လာပြီးဖြေရှင်းနည်းတွေပေးတဲ့အကြောင်းရင်းတွေကိုလေ့လာမယ်။
Imagecolorallocatealpha () function ၏ function သည် image ကိုအရောင်တစ်ခုသတ်မှတ်ရန်နှင့်အရောင်အတွက်ပွင့်လင်းမြင်သာမှုကိုဖော်ပြရန်ဖြစ်သည်။ ပွင့်လင်းမြင်သာမှုသည် alpha channel ကိုသတ်မှတ်ခြင်းဖြင့် alpha တန်ဖိုးများကို 0 (အပြည့်အ 0 အသုံးချခြင်း) အထိ (အပြည့်အဝ opaque) မှ 127 (အပြည့်အဝပွင့်လင်းမြင်သာမှု) နှင့်အတူထိန်းချုပ်ထားသည်။ ဤလုပ်ဆောင်ချက်၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha): int
$ Image : Image image အရင်းအမြစ်။
$ အနီရောင် , $ အစိမ်းရောင် , $ အပြာ - အရောင်၏အနီရောင်, အစိမ်းရောင်နှင့်အပြာရောင်အစိတ်အပိုင်းများ, တန်ဖိုးများသည် 0 မှ 255 အထိရှိသည်။
$ alpha : 0 (လုံးဝ opaque) မှ 127 အထိ (လုံးဝပွင့်လင်းမြင်သာမှု) အထိ transparency တန်ဖိုး။
နမူနာကုဒ် :
<?php
// အလွတ်တစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(400, 300);
// ပုံရိပ်ကိုပွင့်လင်းအရောင်သတ်မှတ်ပါ
$transparent_color = imagecolorallocatealpha($image, 255, 0, 0, 50);
// ပုံရိပ်တစ်ခုလုံးကိုအနီရောင်ဖြင့်ဖြည့်ပါ,နှင့်50%ပွင့်လင်းတင်
imagefill($image, 0, 0, $transparent_color);
// ပုံရိပ် output ကိုသတ်မှတ်ပါ PNG,ပွင့်လင်းနောက်ခံပံ့ပိုး
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
အထက်ပါကုဒ်တွင် ImageColorallocatealealealpha () ကို အသုံးပြု. ပုံရိပ်အတွက်ပွင့်လင်းမြင်သာမှုနှင့်အတူအနီရောင်ကိုဖန်တီးရန်နှင့် image for image for image for image fill he image image fill he image fill fix ။
ကျွန်ုပ်တို့သည် Code တွင်ပွင့်လင်းမြင်သာသောအရောင်များကိုအတိအလင်းချမှတ်သော်လည်းပွင့်လင်းမြင်သာမှုသည်တစ်ခါတစ်ရံမျှော်လင့်ထားသည့်အတိုင်းမပြပါ။ အကြောင်းမှာပွင့်လင်းမြင်သာမှုအကျိုးသက်ရောက်မှုသည်ပုံပေါ်တွင်အလိုအလျောက်ပေါ်လာမည်မဟုတ်ပါ။ ဖြစ်နိုင်သောအကြောင်းပြချက်များမှာ -
ပုံတစ်ပုံအတွက်ပွင့်လင်းမြင်သာသောအရောင်များချမှတ်သောအခါပုံ၏နောက်ခံသည်ပွင့်လင်းမြင်သာမှုကိုအထောက်အကူပြုရမည်။ အကယ်. ပုံသည် Transparency ကိုမပံ့ပိုးသောပုံစံဖြစ်သည်။ PNG format သည်ပွင့်လင်းမြင်သာမှုကိုထောက်ပံ့သောရုပ်ပုံပုံစံဖြစ်သည်။
ဖြေရှင်းချက် -
imagejpeg () သို့မဟုတ်အခြားပုံစံများအစားပုံရိပ်ကို output လုပ်ရန် imagepng () function ကိုအသုံးပြုပါ။
PHP မှ GD စာကြည့်တိုက်သည်ပွင့်လင်းမြင်သာမှုကိုကိုင်တွယ်ရာတွင် alpha blending mode ကိုဖွင့်ထားရန်လိုအပ်သည့်အင်္ဂါရပ်တစ်ခုရှိသည်။
ဖြေရှင်းချက် -
alpha ရောစပ်ခြင်းနှင့် alpha chinnel များကို Enable လုပ်ရန် actionalphableender () နှင့် Imagesavealpha () လုပ်ဆောင်ချက်များကိုခေါ်ဆိုပါ။ ဥပမာအားဖြင့်:
<?php
// ဖွင့်လှစ် alpha ရောနေှာ
imagealphablending($image, false);
// သိုထား alpha အတန်း
imagesavealpha($image, true);
ဤကိစ္စတွင် imagealphableending ($ Image False) ဟူ. ခေါ်ဆိုခြင်း ($ Image False) သည် Blending Mode ကိုပိတ်ထားလိမ့်မည်။
ပုံရိပ်ပုံစံသည်ပွင့်လင်းမြင်သာမှုနှင့် alpha blending mode ကိုဖွင့်ထားသော်လည်းကြည်လင်သောအရောင်သည်အမြင်အာရုံကိုမမြင်နိုင်ပါ။ သင်၏ပုံတွင်အနည်းငယ်ပွင့်လင်းမြင်သာမှုရှိလျှင် (ဥပမာ - 127 ၏ alpha တန်ဖိုး) ကိုသင်အသုံးပြုပါကအကျိုးသက်ရောက်မှုကိုကြည့်ရှုရန်နောက်ခံအရောင်တွင်ပွင့်လင်းမြင်သာမှုသို့မဟုတ်ဆန့်ကျင်ဘက်ဖြစ်လိမ့်မည်။
ဖြေရှင်းချက် -
အထူးသဖြင့် debugging လုပ်သည့်အခါ, ပိုမိုမြင့်မားသောပွင့်လင်းမြင်သာမှုကိုအသုံးပြုပါ ဥပမာအားဖြင့်:
$transparent_color = imagecolorallocatealpha($image, 255, 0, 0, 100); // 更高ပွင့်လင်းတင်
ပုံများပြုပြင်သည့်အခါ output image ၏ format သည်ပွင့်လင်းမြင်သာသောဒေသများကိုမထောက်ပံ့ပါကပုံရိပ်ကိုသိမ်းဆည်းသည့်အခါပွင့်လင်းမြင်သာမှုအကျိုးသက်ရောက်မှုကိုမှန်ကန်စွာမလုပ်ဆောင်နိုင်ပါ။ သင်အသုံးပြုသောပုံရိပ် output function ကိုသင်အသုံးပြုသောပွင့်လင်းမြင်သာမှုနှင့်သိမ်းဆည်းထားသည့်အခါပွင့်လင်းမြင်သာမှုဆိုင်ရာအချက်အလက်များမပျောက်စေနိုင်ကြောင်းသေချာပါစေ။
ဖြေရှင်းချက် -
ပုံကို Transparent-enabled format (ဥပမာ PNG ကဲ့သို့သောပုံစံဖြင့်သိမ်းဆည်းထားကြောင်းသေချာအောင်လုပ်ပါ။
ပွင့်လင်းမြင်သာမှု၏အကျိုးသက်ရောက်မှုကို PHP တွင် isonecolorallocatealpha () function မှတဆင့်အကောင်အထည်ဖော်သည်။ သို့သော်ပွင့်လင်းမြင်သာမှုအကျိုးသက်ရောက်မှုကိုမှန်ကန်စွာပြသရန်သေချာစေရန်, အောက်ပါအခြေအနေများနှင့်ကိုက်ညီရန်လိုအပ်သည်။
PNG ကဲ့သို့သောပွင့်လင်းမြင်သာသောရုပ်ပုံများကိုသုံးပါ။
Alpha Blending Mode ကိုဖွင့်ပြီး Alpha Channel ကိုသိမ်းပါ။
ပုံရိပ်ထဲမှာမြင်နိုင်ဖို့သေချာစေရန်လိုအပ်သလောက်ပွင့်လင်းမြင်သာမှုတန်ဖိုးကိုညှိပါ။
ဤအဆင့်များဖြင့် imagecolorallocatealpha () ကိုအသုံးပြုသောအခါပွင့်လင်းမြင်သာသောအရောင်များကိုချိန်ညှိသောအခါပုံရိပ်သည်ပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုများကိုမှန်ကန်စွာဖော်ပြသည်။