PHP တွင် Image processing သည်အထူးသဖြင့်ရုပ်ပုံများကိုထုတ်လုပ်သောသို့မဟုတ်ပြုပြင်ခြင်းကိုပြုလုပ်သောအခါအလွန်အသုံးများသောလည်ပတ်မှုတစ်ခုဖြစ်သည်။ Imagecolorallocatealpha () နှင့် imageealphableending () image pransparency အတွက်အရေးပါသောအခန်းကဏ် play မှပါ 0 င်သောပုံရိပ်လုပ်ငန်းများတွင်အရေးကြီးသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ ISEACOLORALOCLOCALEALEALEALEALIFLA ကိုအသုံးပြုသည့်အခါအရောင်သတ်မှတ်ရန် () functionender () function ကိုခေါ်ရန်နှင့် မှားယွင်းစေရန် ၎င်းကိုသတ်မှတ်ရန်မေ့သွားနိုင်သည်။ ထို့နောက်ဤပြ problem နာဖြစ်ပေါ်ရသည့်အကြောင်းရင်းနှင့်မည်သို့ဖြေရှင်းရမည်ကိုအသေးစိတ်လေ့လာပါမည်။
Imagecolorallocatealpha () သည်အရောင်များကိုပုံဖော်ရန်အသုံးပြုသော function တစ်ခုဖြစ်ပြီးအထူးသဖြင့်ပွင့်လင်းမြင်သာမှုကိုအထောက်အကူပြုရန်လိုအပ်သည်။ လုပ်ဆောင်ချက်ကိုအောက်ပါအတိုင်းသတ်မှတ်ထားသည်။
imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha): int
$ Image : များသောအားဖြင့် imagecreate () သို့မဟုတ် imagecreatetuecolorcolor မှတဆင့်ဖန်တီးထားသောပုံရိပ်အရင်းအမြစ်။
$ အနီရောင် , $ အစိမ်းရောင် , $ အပြာရောင် - 0 မှ 255 အထိအထိအရောင်၏ RGB တန်ဖိုး။
$ alpha : Transparency တန်ဖိုး, 0 သည်လုံးဝမမြင်နိုင်ပါ။ 127 သည်လုံးဝပွင့်လင်းမြင်သာမှုကိုဆိုလိုသည်။
ပုံရိပ်၏ blending mode ကိုသတ်မှတ်ရန် () function ကို () function ကိုအသုံးပြုသည်။ ၎င်း၏လုပ်ဆောင်ချက်သည်ပုံ၏ပွင့်လင်းမြင်သာမှုအပိုင်းကိုနောက်ခံပုံဖြင့်ပေါင်းစည်းသင့်သည်ကိုဆုံးဖြတ်ရန်ဖြစ်သည်။ အကယ်. function ကို မှန်ကန် ရန်သတ်မှတ်ထားပါကပုံရိပ်၏ပွင့်လင်းသောအစိတ်အပိုင်းကိုလျစ်လျူရှုပြီးနောက်ခံပုံကိုပုံရိပ်တွင်လုံးဝရေးသားထားသည်။ မှားယွင်းစွာ သတ်မှတ်ပါကပွင့်လင်းမြင်သာသောအပိုင်းသည်ပုံရိပ်ပေါင်းစပ်မှုတွင်ပါ 0 င်မည်ဖြစ်ပြီးပုံ၏ပွင့်လင်းမြင်သာမှုအပိုင်းကိုမှန်ကန်စွာဖော်ပြလိမ့်မည်။
လုပ်ဆောင်ချက်ကိုအောက်ပါအတိုင်းသတ်မှတ်ထားသည်။
imagealphablending(resource $image, bool $blend): bool
$ Image : Image image အရင်းအမြစ်။
$ ရောနှော : image blending true (default), မှားယွင်းသော အခါ,
ကျွန်ုပ်တို့သည် imagecolorallocatealpha () function ကိုသုံးသောအခါအရောင်များကိုပွင့်လင်းမြင်သာမှုရှိစေရန်အတွက်အသုံးပြုသောအခါ imagealphableender () ကို အတိအလင်းခေါ်။ မှားယွင်းစွာ သတ်မှတ်ထားခြင်းမရှိပါကပုံရိပ်၏ပွင့်လင်းမြင်သာမှုမရှိပါ။ အကြောင်းမှာ၎င်းသည်ပုံသဏ္ဌာန်၏ ပုံသေတန်ဖိုး () ၏တန်ဖိုးသည် မှန်ကန် သည်, ဆိုလိုသည်မှာပုံ၏ပွင့်လင်းမြင်သာမှုသည်လျစ်လျူရှုခံရလိမ့်မည်။
ဥပမာအားဖြင့်အောက်ပါကုဒ်သည်ပုံပေါင်းစည်းခြင်းတွင်ကျရှုံးလိမ့်မည်။
<?php
// ပုံရိပ်တစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(100, 100);
// အရောင်ပွင့်လင်းနှင့်အတူအရောင်ထားပါ
$color = imagecolorallocatealpha($image, 255, 0, 0, 50); // နီသော,ပွင့်လင်းတင်50
// စတုဂံဆွဲပါ
imagefilledrectangle($image, 10, 10, 90, 90, $color);
// ပုံကိုပြပါ
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
ဤကုဒ်တွင် transparency ကိုမှန်ကန်စွာအသုံးမပြုပါ (ဒေါ်လာပုံ, မှားယွင်းသော) ကို အတိအလင်းမခေါ်ပါ။ ဆိုလိုသည်မှာရုပ်ပုံအတွင်းရှိပွင့်လင်းမြင်သာသောအစိတ်အပိုင်းများကိုလျစ်လျူရှုထားနိုင်သည်,
ဤပြ problem နာကိုဖြေရှင်းရန်ကျွန်ုပ်တို့သည် accourealphableender () function ကိုအတိအလင်းခေါ်ဆိုရန်နှင့်ပုံ၏ပွင့်လင်းမြင်သာသောအစိတ်အပိုင်းများကိုနောက်ဆုံးပုံရိပ်ကိုမှန်ကန်စွာဖန်တီးနိုင်ရန်အတွက်ကျွန်ုပ်တို့သည် မှားယွင်းစွာ ခေါ်ဆိုရန်လိုအပ်သည်။ ပြုပြင်ထားသောကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
// ပုံရိပ်တစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(100, 100);
// 开启ပွင့်လင်းတင်支持
imagealphablending($image, false);
// အရောင်ပွင့်လင်းနှင့်အတူအရောင်ထားပါ
$color = imagecolorallocatealpha($image, 255, 0, 0, 50); // နီသော,ပွင့်လင်းတင်50
// စတုဂံဆွဲပါ
imagefilledrectangle($image, 10, 10, 90, 90, $color);
// ပုံကိုပြပါ
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
ပြုပြင်ထားသောကုဒ်တွင် transparency ကိုမှန်ကန်စွာအသုံးချနိုင်ရန်အတွက် imagealphable ($ image image, false) ကိုပထမ ဦး ဆုံးခေါ်ဆိုသည်။ ဤနည်းအားဖြင့်ပုံ၏ပွင့်လင်းမြင်သာသောအပိုင်းကိုနောက်ဆုံး output image သို့မှန်ကန်စွာပြုလုပ်လိမ့်မည်။
PHP တွင် Imagecoloralletocealpha () imagealphableending () လုပ်ဆောင်ချက်များသည်ပုံရိပ်ပွင့်လင်းမြင်သာမှုကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါအလွန်အရေးကြီးသောကိရိယာများဖြစ်သည်။ အကယ်. သင်သည် imagealphableending () false () function ကိုသုံးသော function ကိုသုံးသောအခါမှားယွင်းရန် () false () function ကိုအသုံးပြုသောအခါပုံ၏ပွင့်လင်းမြင်သာသောအစိတ်အပိုင်းများကိုမှန်ကန်စွာပေါင်းစည်းခြင်းမပြုနိုင်ပါ။ ထို့ကြောင့်ပွင့်လင်းမြင်သာမှုကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါ,