PHP ကို အသုံးပြု. PHP ကို အသုံးပြုသောအခါ alpha (transparency) လိုင်းများကိုသတ်မှတ်ရန် GD စာကြည့်တိုက်တွင် GD စာကြည့်တိုက်တွင် function ကိုအသုံးပြုလေ့ရှိသည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )
$ alpha ၏တန်ဖိုးသည် 0 (လုံးဝ opaque) မှ 127 အထိ (လုံးဝပွင့်လင်းမြင်သာမှု) မှရှိသည်။
သို့သော်ပြနာမှာ - ကျွန်ုပ်တို့သည်ဆာဗာဘေးထွက်ရှိ alpha channel နှင့် alpha channel နှင့်အတူ PNG ရုပ်ပုံများကိုထုတ်လုပ်ရင်တောင် alpha rendering ကိုမထောက်ပံ့သေးသောအချို့ပတ်ဝန်းကျင်တွင်အသုံးပြုသူများမြင်တွေ့ရမည့်သက်ရောက်မှုများမှာမီးခိုးရောင်သို့မဟုတ်အနက်ရောင်ကဲ့သို့သောသို့မဟုတ်၎င်းကိုပုံမှန်ပြသနိုင်ခြင်းမရှိသေးပါ။
ဒါဆိုဆာဗာဘက်မှာ PHP Code ကို PHP Code ကို အသုံးပြု. PHP ကုဒ်ကိုဆာဗာဘက်မှာသုံးပြီးဘယ်လိုတိုးတက်အောင်လုပ်နိုင်မလဲ။
ဤပြ problem နာကိုဖြေရှင်းရန်သော့ချက်မှာ -
PNG ပုံရိပ်များကို alpha channel နှင့်အတူထုတ်လုပ်နေစဉ် alpha ကိုမထောက်ပံ့သော browser များအတွက် "tiled" နောက်ခံနှင့်အတူနောက်ထပ်ပုံရိပ်ကိုထုတ်လုပ်သည်။
တနည်းအားဖြင့်ကျွန်ုပ်တို့သည်အရောင်များကို isagecolorallocatealpha () နှင့်အရောင်များကိုသတ်မှတ်သောအခါ, ပွင့်လင်းမြင်သာမှုကိုဖယ်ရှားပြီးနောက်ခံကိုတိုက်ရိုက်ပေါင်းစပ်သည့်ဗားရှင်းကိုလည်းစဉ်းစားသည်။
အောက်ပါဥပမာသည် Php GD စာကြည့်တိုက်ကိုပုံနှစ်ပုံခန့်ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည်။ alpha channel ကိုထိန်းထားသည့် PNG ကိုပြသသည်။
<?php
// ပတ်တူဖန်တီးပါ
$width = 300;
$height = 100;
$image = imagecreatetruecolor($width, $height);
// ဖွင့်လှစ် alpha Channel Saving
imagesavealpha($image, true);
// လုံးဝပွင့်လင်းနောက်ခံအရောင် assign
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparent);
// အနီရောင်အနီရောင်ကိုသတ်မှတ်ပါ
$redAlpha = imagecolorallocatealpha($image, 255, 0, 0, 63); // 50% ကြည်လင်သော
// 画一个半ကြည်လင်သော矩形
imagefilledrectangle($image, 50, 25, 250, 75, $redAlpha);
// ခါးပတ်ကိုသိမ်းပါ alpha ၏ PNG
imagepng($image, 'output_with_alpha.png');
// --------- ဖြစ်ပါှးစေ alpha ၏版本 ---------
// အဖြူရောင်နောက်ခံပေါ်တွင်ပတ်တူဖန်တီးပါ
$background = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($background, 255, 255, 255);
imagefill($background, 0, 0, $white);
// 将ကြည်လင်သော图片拷贝到白色背景上(ရေွှ့ alpha)
imagecopy($background, $image, 0, 0, 0, 0, $width, $height);
// ကယ်ဆယ် alpha ၏ PNG
imagepng($background, 'output_no_alpha.png');
// မှတ်ဉာဏ်သန့်ရှင်းရေး
imagedestroy($image);
imagedestroy($background);
echo 'ပုံရိပ်မျိုးဆက်ပြီးစီးခဲ့သည်:<a href="https://m66.net/output_with_alpha.png">带ကြည်လင်သော通道</a> နှင့် <a href="https://m66.net/output_no_alpha.png">无ကြည်လင်သော版本</a>';
?>
1 ?? အရောင်များကို alpha ဖြင့်သတ်မှတ်ပါ Transparent သို့မဟုတ် Semi-Transparent အစိတ်အပိုင်းများကိုအရောင်တင်ရန် ISEACOLOROLOCALEALEALEATHA ကို သုံးပါ။
2 ?? alpha ကိုထောက်ပံ့သော browser (ဘရောက်ဆာ) များအတွက်အဓိကပုံရိပ်ကိုထုတ်လုပ်ပါ ဤအပိုင်းသည် PNG အဖြစ်သိမ်းဆည်းထားပြီး၎င်းကိုခေတ်မီ browser များကထောက်ပံ့နိုင်သည်။
3 ?? alpha ကိုမပံ့ပိုးသော browser များအတွက် depradation ကားချပ်များထုတ်လုပ်ရန် အဖြူရောင်သို့မဟုတ်အခြားနောက်ခံဖြင့်ပတ်တူတစ်ခုကို ဖန်တီး. Transparent အစိတ်အပိုင်းသည်အစိုင်အခဲနောက်ခံဖြစ်လာရန်အဓိကပုံကိုတိုက်ရိုက်ကူးယူပါ။
4 ?? ရှေ့ -inting ၏ရွေးချယ်မှုတင် alpha PNG ကိုဝက်ဘ်စာမျက်နှာပေါ်တွင် Supported ရှိမရှိရှာဖွေရန် JavaScript ကိုသုံးနိုင်သည်။ သို့မဟုတ်သုံးစွဲသူများထံမှရွေးချယ်ရန် download link နှစ်ခုကိုတိုက်ရိုက်ပေးနိုင်သည်။