PHP မှ GD စာကြည့်တိုက် သည် ပုံရိပ်များထုတ်လုပ်ခြင်း, ရုပ်ပုံများကိုထုတ်လုပ်ခြင်း, ပုံဆွဲပုံပုံစံများစသဖြင့်ရေးဆွဲခြင်း, ပုံ ဆွဲပုံပုံစံများစသည်တို့ကိုထုတ်လုပ်ရန်အတွက်အားကောင်းသည့်ကိရိယာများကိုထောက်ပံ့ပေးသည်။ သို့သော် imagecolprolectocatealpha ကိုအသုံးပြုသောအခါ imageealphableending () ကိုမှန်ကန်စွာမခေါ်ပါက မ မျှော်လင့်သောရုပ်ပုံလွှာပြ problems နာအချို့ကိုသင်ကြုံတွေ့ရနိုင်သည်။
Transparency Color နှင့်ပုံတစ်ပုံကိုသတ်မှတ်ရန် imagecolorallalapealpha () function ကိုအသုံးပြုသည်။ လုပ်ဆောင်ချက်၏ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )
အတွက်
$ Image : ပုံရိပ်အရင်းအမြစ်ကိုပစ်မှတ်ထားသည်။
$ အနီရောင် , $ အစိမ်းရောင် , $ အပြာရောင် - အရောင်၏အနီရောင်, အစိမ်းရောင်နှင့်အပြာရောင်အစိတ်အပိုင်းများ (0-255) ။
$ alpha : Transparency, 0 ကိုဆိုလိုသည်, 0 င်ကွက်လပ်သည်လုံးဝ opaque ကိုဆိုလိုသည်။ 127 သည်လုံးဝပွင့်လင်းမြင်သာမှုကိုဆိုလိုသည်။
accourealphableending () function ကို alpha blending mode ကိုထိန်းချုပ်ရန်အသုံးပြုသည်။ ၎င်း၏ function မှာပုံပေါ်ရှိအရောင်သည်၎င်း၏ပွင့်လင်းမြင်သာမှုတန်ဖိုးကို အခြေခံ. နောက်ခံပုံနှင့်ရောနှောခြင်းရှိမရှိဆုံးဖြတ်ရန်ဖြစ်သည်။ ပုံမှန်အားဖြင့် PHPG GD စာကြည့်တိုက်သည်ရုပ်ပုံပေါ်ရှိအရောင်များကိုနောက်ခံပုံ Transparency ဖြင့်အရောင်များကိုရောစပ်သည်။ ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
bool imagealphablending ( resource $image , bool $blendmode )
အတွက်
$ Image : ပုံရိပ်အရင်းအမြစ်ကိုပစ်မှတ်ထားသည်။
$ ရော Bethmode : boolean value, mode mode ကို enable လုပ်ဖို့, မှားယွင်းတဲ့ နည်းလမ်းတွေ,
Transparency နှင့် Blending Mode သည်ပုံများနှင့်အလုပ်လုပ်သောအခါအလွန်နီးကပ်စွာဆက်စပ်သောသဘောတရားများဖြစ်သည်။ အကယ်. ImageEalphableending () isagecolorallocatealealpha () အရောင်များကိုပွင့်လင်းမြင်သာမှုရှိစေရန်အတွက်မှန်ကန်စွာဖွင့်ထားလျှင်၎င်းသည်ပုံရိပ်အရောင်များကိုမျှော်လင့်ထားသည့်အတိုင်းပွင့်လင်းမြင်သာမှုမရှိစေနိုင်ပါ။ အထူးသဖြင့်အရောင်များကိုမျှော်လင့်ထားသည့်ပွင့်လင်းမြင်သာမှုနှင့် ပတ်သက်. လျစ်လျူရှုခြင်း,
ပုံမှန်အားဖြင့် GD စာကြည့်တိုက်၏ပုံရိပ်ထုတ်ယူခြင်းသည်ပုံရိပ်များကို opaque လုပ်ထုံးလုပ်နည်းများတွင်ဖြစ်စဉ်များ, ဆိုလိုသည်မှာအရောင်အားလုံးသည်နောက်ခံကိုလုံးဝဖုံးအုပ်လိမ့်မည်ဟုဆိုလိုသည်။ Imagecolorallocatealpha () သူ့ဟာသူသည်အရောင်များကိုသတ်မှတ်ပြီးပွင့်လင်းမြင်သာမှုကိုအလိုအလျောက်သတ်မှတ်သည်။ ထို့ကြောင့် Blending Mode ကို enable လုပ်ရန် (True) ကိုမခေါ်ပါကပုံသည်ပွင့်လင်းမြင်သာမှုကိုလျစ်လျူရှုထားပြီးအရောင်ကိုလုံးဝအသုံးမပြုနိုင်သောအရောင်အဖြစ်ပုံဆွဲသည်။
သင့်ပုံ၏ပွင့်လင်းမြင်သာမှုကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ရန်အတွက်ဤအဆင့်များကိုလိုက်နာရန်လိုအပ်သည် -
<?php
// အလွတ်တစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(200, 200);
// ဖွင့်လှစ် alpha အတန်း
imagealphablending($image, false); // ပုံမှန်အားဖြင့်ပိတ်ပါ alpha ရောနှော mode ကို
// ပွင့်လင်းမြင်သာမှုနှင့်အတူအရောင် assign
$transparent_color = imagecolorallocatealpha($image, 255, 0, 0, 50); // နီသော,ပွင့်လင်းမြင်သာမှု 50
// ဆွဲရန်ဤအရောင်ကိုသုံးပါ
imagefill($image, 0, 0, $transparent_color);
// ပုံများကိုထုတ်လုပ်ရန်နှင့်ပြသရန်
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
?>
အထက်ပါကုဒ်၌:
ကျနော်တို့ပထမ ဦး ဆုံး image အရင်းအမြစ်ကိုဖန်တီးခဲ့တယ်။
ထို့နောက်ပုံသေ alpha blending mode ( imagealessphableender ($ image image; false) ) ကိုပိတ်ထားသည်။ ထို့ကြောင့်ပွင့်လင်းမြင်သာမှုမရှိနိုင်အောင်ပိတ်ထားသည်။
ထို့နောက်ကျွန်ုပ်တို့သည် imagecolorallocatealpha () ကို အသုံးပြု. ပုံသို့ပွင့်လင်းမြင်သာမှုနှင့်အတူအရောင်တစ်မျိုးကိုသတ်မှတ်ပါ။
နောက်ဆုံးတော့ပုံကိုဖြည့်ပြီးပုံရိပ်ကိုထုတ်ပေးတယ်။
အကယ်. သင်သည် isealphableending () ကိုခေါ်ရန်သို့မဟုတ်မှားယွင်းစွာသတ်မှတ်ရန်မေ့နေပါကအောက်ပါပြ problems နာများကိုသင်ကြုံတွေ့ရနိုင်သည်။
ပုံ၏ပွင့်လင်းမြင်သာမှုအပိုင်းကိုရှင်းလင်းပြတ်သားစွာဖော်ပြထားသည်။
နောက်ခံသည်ပွင့်လင်းမြင်သာသော area ရိယာနှင့်မှန်ကန်စွာရောနှောခြင်းမရှိသောကြောင့်မျှော်မှန်းထားသည်ထက်နည်းသောပုံကိုပြသသည်။
Imagecolorallocatealpha ကိုအသုံးပြုသောအခါ () imagealphableending () ဟုခေါ်သော () ကိုသေချာစေရန်နှင့်၎င်း၏ blending mode ကိုမှန်ကန်စွာသတ်မှတ်ရန်အလွန်အရေးကြီးသည်။ Transparency နှင့် Blending Mode ကိုမှန်ကန်စွာထိန်းချုပ်ခြင်းသည်သင့်အားပိုမိုကောင်းမွန်သောပုံရိပ်အကျိုးသက်ရောက်မှုကိုရရှိစေသည်။ ဤဆောင်းပါးသည်ဤပုံရိပ်ထုတ်ယူမှုလုပ်ဆောင်မှုများကိုပိုမိုနားလည်ပြီးအသုံးပြုရန်ကူညီပေးပါ။
PHP image processing အကြောင်းပိုမိုလေ့လာလိုပါကအောက်ပါလင့်ခ်ကိုသင်ရည်ညွှန်းနိုင်သည်။