PHP ကိုအသုံးပြုမှုအတွက် PHP ကိုအသုံးပြုသောအခါ GD စာကြည့်တိုက်သည် imagecolorallocatealpha () သည်အရောင်အသွေးစုံလင်သောအရောင်များကိုသတ်မှတ်ခြင်းအတွက်စွမ်းဆောင်နိုင်မှုများစွာကိုပေးသည်။ ၎င်းကိုအသုံးပြုသောအခါပွင့်လင်းမြင်သာသောအရောင်သတ်မှတ်ထားသည့်တိုင်သိမ်းဆည်းထားသော PNG သို့မဟုတ် GIF ဖိုင်များသည်လုံးဝမမြင်နိုင်ပါ။ ဒါဘာကြောင့်လဲ ပြ problem နာအတွက်သော့ချက်မှာအခြားလုပ်ဆောင်ချက်တစ်ခုတွင်အလွယ်တကူသတိမမူမိသည့်အခြားလုပ်ဆောင်ချက်တစ်ခုတွင်ရှိသည်။ ImagesaveAnpha ()
ISEACOLORALOCALEALEALEPER () ၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
$image = imagecreatetruecolor(200, 200);
$transparentColor = imagecolorallocatealpha($image, 255, 0, 0, 127); // နီသော,လုံးဝပွင့်လင်း
၎င်း၏သတ်မှတ်ချက်များတွင်အနီရောင်, အစိမ်း, ဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်းသည် Translucc စတုဂံများ, စာသားစသည့်ပုံပေါ်တွင်ပွင့်လင်းမြင်သာသောဒြပ်စင်များကိုဆွဲဆောင်နိုင်သည်။
သို့သော်ဤလုပ်ဆောင်မှု သည်အရောင်များကိုခွဲဝေချထားပေးရန်အတွက်သာတာ 0 န်ရှိသည် ။ GD စာကြည့်တိုက်ကို "alpha channel ကို output လုပ်ပါ" ကိုအလိုအလျောက်မပြောပါနှင့်။
ဤသည် Imagesavealpha () က:
imagesavealpha($image, true);
ဤလုပ်ဆောင်ချက်ကိုသင်ခေါ်ဆိုသောအခါ GD စာကြည့်တိုက်သည် PNG (သို့မဟုတ်ပွင့်လင်းမြင်သာသောအခြားပုံစံများ) output လုပ်သည့်အခါ alpha channel ၏အချက်အလက်များကိုထိန်းသိမ်းထားသည်။ အကယ်. ၎င်းကိုမဖွင့်ပါက GD သည်ပွင့်လင်းမြင်သာသော area ရိယာကို alpha (များသောအားဖြင့်အနက်ရောင်သို့မဟုတ်အဖြူရောင်) မပါ 0 င်ပါ။
တစ်နည်းပြောရရင်တော့:
? imagecolorallocatealpha () →→အရောင်၏ပွင့်လင်းမြင်သာသောအစိတ်အပိုင်းကိုသတ်မှတ်ပါ
?? သို့သော်၎င်းသည် ပွင့်လင်းမြင်သာသောသတင်းအချက်အလက်များကိုဖိုင်သို့အလိုအလျောက်ထိန်းသိမ်းထားခြင်းမရှိပါ။
ရိုးရှင်းတဲ့ဥပမာတစ်ခုကိုကြည့်ရအောင်။
<?php
// ပတ်တူဖန်တီးပါ
$image = imagecreatetruecolor(200, 200);
// ဖွင့်လှစ် alpha Channel Saving
imagesavealpha($image, true);
// 创建一个လုံးဝပွင့်လင်း的背景色
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
// နောက်ခံဖြည့်ပါ
imagefill($image, 0, 0, $transparent);
// 画一个半透明的နီသော矩形
$red = imagecolorallocatealpha($image, 255, 0, 0, 63);
imagefilledrectangle($image, 50, 50, 150, 150, $red);
// output ကိုပုံ
header('Content-Type: image/png');
imagepng($image);
// မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($image);
?>
အကယ်. သင်သည် Imagesavealpha ကို ဖယ်ရှားပါ ကသိမ်းဆည်းထားသော PNG ဖိုင်၏ပွင့်လင်းမြင်သာသော area ရိယာကိုတိုက်ရိုက်ဆုံးရှုံးသွားလိမ့်မည်။
ပုံကို browser ကို output လုပ်မယ့်အစားဖိုင်ကိုဖိုင်တစ်ခုအဖြစ်သိမ်းချင်ရင်မင်းလုပ်နိုင်တယ်။