လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> မှန်ကန်စွာခေါ်ဆိုခြင်းမခံရသည့်ဘေးထွက်ဆိုးကျိုးများ () ဘေးထွက်ဆိုးကျိုးများ

မှန်ကန်စွာခေါ်ဆိုခြင်းမခံရသည့်ဘေးထွက်ဆိုးကျိုးများ () ဘေးထွက်ဆိုးကျိုးများ

M66 2025-05-18

PHP မှ GD စာကြည့်တိုက် သည် ပုံရိပ်များထုတ်လုပ်ခြင်း, ရုပ်ပုံများကိုထုတ်လုပ်ခြင်း, ပုံဆွဲပုံပုံစံများစသဖြင့်ရေးဆွဲခြင်း, ပုံ ဆွဲပုံပုံစံများစသည်တို့ကိုထုတ်လုပ်ရန်အတွက်အားကောင်းသည့်ကိရိယာများကိုထောက်ပံ့ပေးသည်။ သို့သော် imagecolprolectocatealpha ကိုအသုံးပြုသောအခါ imageealphableending () ကိုမှန်ကန်စွာမခေါ်ပါက မျှော်လင့်သောရုပ်ပုံလွှာပြ problems နာအချို့ကိုသင်ကြုံတွေ့ရနိုင်သည်။

1 ။ ISESECOLORALOCALEALEALPHA () function ကိုမိတ်ဆက်ပါ

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 သည်လုံးဝပွင့်လင်းမြင်သာမှုကိုဆိုလိုသည်။

2 ။ imagealphableender () function ကိုမိတ်ဆက်

accourealphableending () function ကို alpha blending mode ကိုထိန်းချုပ်ရန်အသုံးပြုသည်။ ၎င်း၏ function မှာပုံပေါ်ရှိအရောင်သည်၎င်း၏ပွင့်လင်းမြင်သာမှုတန်ဖိုးကို အခြေခံ. နောက်ခံပုံနှင့်ရောနှောခြင်းရှိမရှိဆုံးဖြတ်ရန်ဖြစ်သည်။ ပုံမှန်အားဖြင့် PHPG GD စာကြည့်တိုက်သည်ရုပ်ပုံပေါ်ရှိအရောင်များကိုနောက်ခံပုံ Transparency ဖြင့်အရောင်များကိုရောစပ်သည်။ ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 bool imagealphablending ( resource $image , bool $blendmode )

အတွက်

  • $ Image : ပုံရိပ်အရင်းအမြစ်ကိုပစ်မှတ်ထားသည်။

  • $ ရော Bethmode : boolean value, mode mode ကို enable လုပ်ဖို့, မှားယွင်းတဲ့ နည်းလမ်းတွေ,

3 ။ Imagecolorallocatealealpha () နှင့် imagealphableend () အကြားဆက်နွယ်မှု ()

Transparency နှင့် Blending Mode သည်ပုံများနှင့်အလုပ်လုပ်သောအခါအလွန်နီးကပ်စွာဆက်စပ်သောသဘောတရားများဖြစ်သည်။ အကယ်. ImageEalphableending () isagecolorallocatealealpha () အရောင်များကိုပွင့်လင်းမြင်သာမှုရှိစေရန်အတွက်မှန်ကန်စွာဖွင့်ထားလျှင်၎င်းသည်ပုံရိပ်အရောင်များကိုမျှော်လင့်ထားသည့်အတိုင်းပွင့်လင်းမြင်သာမှုမရှိစေနိုင်ပါ။ အထူးသဖြင့်အရောင်များကိုမျှော်လင့်ထားသည့်ပွင့်လင်းမြင်သာမှုနှင့် ပတ်သက်. လျစ်လျူရှုခြင်း,

4 ။ Imagecolorallocatealpha () isealphableender လိုအပ်တာဘာကြောင့်လဲ။

ပုံမှန်အားဖြင့် GD စာကြည့်တိုက်၏ပုံရိပ်ထုတ်ယူခြင်းသည်ပုံရိပ်များကို opaque လုပ်ထုံးလုပ်နည်းများတွင်ဖြစ်စဉ်များ, ဆိုလိုသည်မှာအရောင်အားလုံးသည်နောက်ခံကိုလုံးဝဖုံးအုပ်လိမ့်မည်ဟုဆိုလိုသည်။ Imagecolorallocatealpha () သူ့ဟာသူသည်အရောင်များကိုသတ်မှတ်ပြီးပွင့်လင်းမြင်သာမှုကိုအလိုအလျောက်သတ်မှတ်သည်။ ထို့ကြောင့် Blending Mode ကို enable လုပ်ရန် (True) ကိုမခေါ်ပါကပုံသည်ပွင့်လင်းမြင်သာမှုကိုလျစ်လျူရှုထားပြီးအရောင်ကိုလုံးဝအသုံးမပြုနိုင်သောအရောင်အဖြစ်ပုံဆွဲသည်။

5 ။ isagecolorallocatealpha () နှင့် imagealphableender () ကိုဘယ်လိုမှန်ကန်စွာသုံးနိုင်မလဲ။

သင့်ပုံ၏ပွင့်လင်းမြင်သာမှုကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ရန်အတွက်ဤအဆင့်များကိုလိုက်နာရန်လိုအပ်သည် -

 <?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);
?>

အထက်ပါကုဒ်၌:

  1. ကျနော်တို့ပထမ ဦး ဆုံး image အရင်းအမြစ်ကိုဖန်တီးခဲ့တယ်။

  2. ထို့နောက်ပုံသေ alpha blending mode ( imagealessphableender ($ image image; false) ) ကိုပိတ်ထားသည်။ ထို့ကြောင့်ပွင့်လင်းမြင်သာမှုမရှိနိုင်အောင်ပိတ်ထားသည်။

  3. ထို့နောက်ကျွန်ုပ်တို့သည် imagecolorallocatealpha () ကို အသုံးပြု. ပုံသို့ပွင့်လင်းမြင်သာမှုနှင့်အတူအရောင်တစ်မျိုးကိုသတ်မှတ်ပါ။

  4. နောက်ဆုံးတော့ပုံကိုဖြည့်ပြီးပုံရိပ်ကိုထုတ်ပေးတယ်။

6 ။ သာမန်အမှားများနှင့်ပြ problems နာများ

အကယ်. သင်သည် isealphableending () ကိုခေါ်ရန်သို့မဟုတ်မှားယွင်းစွာသတ်မှတ်ရန်မေ့နေပါကအောက်ပါပြ problems နာများကိုသင်ကြုံတွေ့ရနိုင်သည်။

  • ပုံ၏ပွင့်လင်းမြင်သာမှုအပိုင်းကိုရှင်းလင်းပြတ်သားစွာဖော်ပြထားသည်။

  • နောက်ခံသည်ပွင့်လင်းမြင်သာသော area ရိယာနှင့်မှန်ကန်စွာရောနှောခြင်းမရှိသောကြောင့်မျှော်မှန်းထားသည်ထက်နည်းသောပုံကိုပြသသည်။

7 ။ အကျဉ်းချုပ်

Imagecolorallocatealpha ကိုအသုံးပြုသောအခါ () imagealphableending () ဟုခေါ်သော () ကိုသေချာစေရန်နှင့်၎င်း၏ blending mode ကိုမှန်ကန်စွာသတ်မှတ်ရန်အလွန်အရေးကြီးသည်။ Transparency နှင့် Blending Mode ကိုမှန်ကန်စွာထိန်းချုပ်ခြင်းသည်သင့်အားပိုမိုကောင်းမွန်သောပုံရိပ်အကျိုးသက်ရောက်မှုကိုရရှိစေသည်။ ဤဆောင်းပါးသည်ဤပုံရိပ်ထုတ်ယူမှုလုပ်ဆောင်မှုများကိုပိုမိုနားလည်ပြီးအသုံးပြုရန်ကူညီပေးပါ။

PHP image processing အကြောင်းပိုမိုလေ့လာလိုပါကအောက်ပါလင့်ခ်ကိုသင်ရည်ညွှန်းနိုင်သည်။