PHP တွင် Transparent နောက်ခံဖြင့်ရုပ်ပုံများကို GD စာကြည့်တိုက် (ဂရပ်ဖစ်ဆွဲစာကြည့်တိုက်) တွင်အသုံးပြုလေ့ရှိသည်။ အဆိုပါ Imagecolorallocatealealealpha function သည် Transparent အရောင်များကိုပုံရိပ်တွေကိုသတ်မှတ်ပေးနိုင်သည့် GD စာကြည့်တိုက်တွင်အရေးကြီးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းကိုကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပုံရိပ်တွင်ပွင့်လင်းမြင်သာသောနောက်ခံတစ်ခုဖန်တီးနိုင်သည်သို့မဟုတ်ကွဲပြားခြားနားသောအမြင်အာရုံသက်ရောက်မှုများကိုဖန်တီးနိုင်သည်။ နောက်ခံပုံရိပ်တစ်ခုနှင့်ရုပ်ပုံတစ်ခုဖန်တီးရန်ဤလုပ်ဆောင်မှုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
အဆိုပါ Imagecolorallallocatealealealpha function ကို PHP ၏ GD စာကြည့်တိုက်တွင်အရောင်သတ်မှတ်ရန်နှင့်ထိုအရောင်၏ပွင့်လင်းမြင်သာမှုကိုသတ်မှတ်ရန်အသုံးပြုသည်။ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
int imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha);
$ Image : အရောင်များကိုခွဲဝေရန်လိုအပ်သည့်ပုံရိပ်အရင်းအမြစ်။
$ အနီရောင် , $ အစိမ်းရောင် , $ အပြာရောင် - 0 မှ 255 အထိအရောင်၏ RGB အစိတ်အပိုင်း။
$ alpha : 0 မှ 127 အထိ transparency သည် 0 မှ 127 အထိရှိသည်, 0 မှ 127 အထိသည်လုံးဝမမြင်နိုင်နှင့် 127 ကိုဆိုလိုသည်။
ပထမ ဦး စွာပွင့်လင်းမြင်သာမှုကိုထောက်ပံ့သောပုံတစ်ပုံကိုဖန်တီးရန်လိုအပ်သည်။ ပုံတစ်ပုံကိုဖန်တီးသောအခါ trueecolor image ကိုထုတ်လုပ်ရန် imagecreatetrecolor function ကိုသုံးရန်လိုအပ်သည်။
<?php
// a200x200ရုပ်ပုံများ
$image = imagecreatetruecolor(200, 200);
// Transparent နောက်ခံပုံရိပ်တွေကိုသတ်မှတ်ပါ
imagesavealpha($image, true); // ချန်လှပ်ထားalphaအတန်း
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127); // လုံးဝပွင့်လင်း set ကို
imagefill($image, 0, 0, $transparent); // ပုံရိပ်နောက်ခံကိုပွင့်လင်းမြင်သာစွာဖြည့်ပါ
// output ကိုပုံရိပ်ဖြစ်ပါတယ်PNGပမာဏ,browser မှသိမ်းဆည်းပါ
header('Content-Type: image/png');
imagepng($image);
// အရင်းအမြစ်များကိုသန့်ရှင်းရေး
imagedestroy($image);
?>
ဤဥပမာတွင် ImposecreatetuColor Office မှတဆင့် 200x200 pixel image ကိုဖန်တီးပြီးပုံရိပ်သည်ပွင့်လင်းမြင်သာမှုကိုအထောက်အကူပြုရန် Imonsavealpha ကို အသုံးပြုသည်။ ထို့နောက်ကျွန်ုပ်တို့သည် Emberecolorallocatealealealpha ကို လုံးဝပွင့်လင်းမြင်သာသောနောက်ခံကို အသုံးပြု. ပုံရိပ်တစ်ခုလုံး၏နောက်ခံကို image function function နှင့်ဖြည့်ပါ။
ရုပ်ပုံများပေါ်တွင်ရုပ်ပုံများနှင့်စာသားများကိုကျော်ပွင့်လင်းမြင်သာသောနောက်ခံဖြင့်ပုံဆွဲသည့်အခါပွင့်လင်းမြင်သာသောနောက်ခံကို overwrite မဟုတ်။ ပုံရိပ်၏အစိတ်အပိုင်းများကိုအရောင်များကို သတ်မှတ်. ၎င်းတို့ကိုဆွဲရန် စိတ်ကူးကြည့် ComeColoralealealpha ကို ဆက်လက်အသုံးပြုနိုင်သည်။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်ဥပမာသည်ပွင့်လင်းမြင်သာသောနောက်ခံပေါ်တွင်အနီရောင်စတုဂံပုံဆွဲသည်။
<?php
// ပုံတစ်ပုံကိုဖန်တီးပြီးပွင့်လင်းသောနောက်ခံတစ်ခုသတ်မှတ်ပါ
$image = imagecreatetruecolor(400, 400);
imagesavealpha($image, true); // ချန်လှပ်ထားalphaအတန်း
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127); // ပွင့်လင်းနောက်ခံ set
imagefill($image, 0, 0, $transparent);
// အနီရောင်သတ်မှတ်ပါ
$red = imagecolorallocate($image, 255, 0, 0);
// ပွင့်လင်းသောနောက်ခံပေါ်တွင်အနီရောင်စတုဂံကိုဆွဲပါ
imagefilledrectangle($image, 50, 50, 350, 350, $red);
// output ကိုပုံရိပ်ဖြစ်ပါတယ်PNGပမာဏ
header('Content-Type: image/png');
imagepng($image);
// အရင်းအမြစ်များကိုသန့်ရှင်းရေး
imagedestroy($image);
?>
ဤဥပမာတွင်ပွင့်လင်းမြင်သာသောနောက်ခံပေါ်တွင်အနီရောင်စတုဂံပုံတစ်စင်းကိုစတုဂံပုံပေါ်ရှိအနီရောင်စတုဂံတစ်ခုကိုဆွဲယူသည်။
ပုံ၏ပွင့်လင်းမြင်သာသောနောက်ခံကိုကယ်တင်ခြင်းသို့ရောက်ရန်ပုံသည် PNG format ဖြင့်ထုတ်လုပ်ခြင်းသို့မဟုတ်သိမ်းဆည်းထားရမည်။ PNG format သည်ပွင့်လင်းမြင်သာမှုကိုထောက်ပံ့သည်။ JPEG format မပါဘူး။ ထို့ကြောင့်, ပွင့်လင်းမြင်သာသောနောက်ခံကိုထိန်းသိမ်းလိုပါက PNG format ကိုသေချာစွာအသုံးပြုပါ။
imagepng($image, 'path_to_save_image.png');
PHP တွင်ပွင့်လင်းမြင်သာသောနောက်ခံနှင့်ရုပ်ပုံများကိုဖန်တီးရန်ကျွန်ုပ်တို့အား imagecolorallalapalpha function သည်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ImagecreatetRuecolor , ImagesaveAnealpha စသည်ဖြင့်လုပ်ဆောင်မှုများကိုပေါင်းစပ်ခြင်းဖြင့်ကျွန်ုပ်တို့သည် transparency effects နှင့်ရုပ်ပုံများကိုအလွယ်တကူထုတ်လုပ်နိုင်ပြီးဝက်ဘ်ဆိုက်ဒီဇိုင်း, အိုင်ကွန်မျိုးဆက်သို့မဟုတ်နောက်ခံလိုအပ်သည့်မည်သည့်မြင်ကွင်းကိုမဆိုအသုံးပြုနိုင်သည်။
ဤဆောင်းပါးသည် PHP တွင် isonecolorallocealealpha ကို အသုံးပြု. ပွင့်လင်းမြင်သာသောနောက်ခံနှင့်ရုပ်ပုံများကိုမည်သို့ဖန်တီးရမည်ကိုနားလည်ရန်ကူညီပေးပါ။
သင့်တွင်မေးခွန်းများရှိပါကသို့မဟုတ်သာဓကများလိုအပ်ပါကအခမဲ့မေးမြန်းပါ။