PHP တွင် Imposecolorallocatealpha () သည် transparency (alpha chargels) နှင့်အရောင်များကိုသတ်မှတ်ပေးသောအလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်၏အဓိပ္ပါယ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
int imagecolorallocatealpha ( GdImage $image , int $red , int $green , int $blue , int $alpha )
$ alpha parameter သည်တန်ဖိုးအကွာအဝေးသည် 0 (လုံးဝပွင့်လင်းသော) မှ 127 (လုံးဝပွင့်လင်းမြင်သာမှု) ဖြစ်သည်။
Developer တော်တော်များများဟာ PHP ရဲ့ GD စာကြည့်တိုက်ကိုသုံးပြီး php ရဲ့ GD စာကြည့်တိုက်ကိုသုံးပြီး PHP ရဲ့ GD စာကြည့်တိုက်ကိုသုံးပြီးရေစာတွေ, ဒါကြောင့်သူတို့ဟာ transparent အရောင်တွေ ကို သတ်မှတ်ဖို့ isagecolorallocatealpha () ကို သုံးတယ် ။ သို့သော်, JPEG format ဖြင့်သိမ်းဆည်းသည့်အခါပွင့်လင်းမြင်သာမှုအကျိုးသက်ရောက်မှုသည်လုံးဝပျောက်ကွယ်သွားသည်,
ဘာကြောင့်ဒီလိုဖြစ်ရတာလဲ
ဒါကအဓိကပြ issue နာပါ။ JPEG (သို့မဟုတ် JPG) သည်ဓာတ်ပုံများကဲ့သို့ပုံရိပ်များသိုလှောင်ရန်အထူးဒီဇိုင်းပြုလုပ်ထားသော lossy compressed image format တစ်ခုဖြစ်သည်။
Memory တွင် transparent pixels (ဥပမာအားဖြင့်အရောင်များကိုသတ်မှတ်ရန် (ဥပမာ isagrecolorlocesspha () ကို သုံးရန်) ကိုဖွင့်ရန် (ဥပမာ agrecolorlocesspha) ကိုရိုက်ကူးရန်အတွက်ပုံရိပ်ကိုဖန်တီးသောအခါ GD စာကြည့်တိုက်သည် Transparency Information ကိုဖယ်ရှားရမည်။
ဤသည်ကို ဦး ဆောင်:
ပွင့်လင်းမြင်သာသော areas ရိယာများကိုများသောအားဖြင့်အနက်ရောင်သို့မဟုတ်အဖြူရောင်ဖြင့်ပြည့်နှက်နေသည် (အကောင်အထည်ဖော်ခြင်းအပေါ် မူတည်. );
အကယ်. သင်အသုံးပြုသောအရောင်တွင် alpha ရှိပါကသိုလှောင်စဉ်အတွင်းအလှည့်အပြောင်းလွဲမှားခြင်း, ပုံမှန်မဟုတ်သောအရောင်တန်ဖိုးကိုဖြစ်ပေါ်စေသည်။
အချို့သောပုံရိပ်ကြည့်ရှုသူများသို့မဟုတ်စာကြည့်တိုက်များသည် JPEG ဖိုင်များတွင် "ပွင့်လင်းမြင်သာသောဒေတာ" ကိုဖတ်သည့်အခါခြွင်းချက်များကိုပြသနိုင်သည်။
သင်၏ပန်းတိုင်သည်ရုပ်ပုံများကိုပွင့်လင်းမြင်သာမှုဖြင့်သိမ်းဆည်းရန်ဖြစ်သည်ဆိုလျှင် PNG သို့မဟုတ် GIF ပုံစံကိုသုံးသင့်သည်။
PNG သည်မှန်ကန်သော alpha collels များကိုထောက်ပံ့ပေးပြီးအရည်အသွေးမြင့်မားသော,
GIF သည် Monochrome Transparency (Transliter) ကိုသာထောက်ပံ့သည်။ သို့သော်ရိုးရှင်းသောပွင့်လင်းမြင်သာမှုအတွက်လည်းလုံလောက်သည်။
PHP တွင် ပုံရိပ် JPEG () ကို ပုံဖော်ခြင်း () ပုံရိပ် () သို့မဟုတ် imagegif () ဖြင့်ပုံရိပ်များကိုပွင့်လင်းမြင်သာမှုရှိစေသည်။ ဥပမာအားဖြင့်:
<?php
$img = imagecreatetruecolor(200, 200);
// စွမ်းဆောင်နိုင်စေ alpha Channel Saving
imagesavealpha($img, true);
$transparent = imagecolorallocatealpha($img, 0, 0, 0, 127);
imagefill($img, 0, 0, $transparent);
// ပုံပေါ်မှာတစ်ခုခုဆွဲပါ
$red = imagecolorallocatealpha($img, 255, 0, 0, 60);
imagefilledellipse($img, 100, 100, 150, 150, $red);
// အဖြစ်သိမ်းဆည်းပါ PNG
imagepng($img, 'output.png');
// သို့မဟုတ်ဝေးလံခေါင်သီရန်သိမ်းဆည်းပါ URL(ဒိုမိန်းအမည်ကိုသတိပြုပါ m66.net)
imagepng($img, 'https://m66.net/uploads/output.png');
imagedestroy($img);
?>
ပွင့်လင်းမြင်သာမှုကိုအသုံးပြုလိုပါကသတိရပါ။
? PNG format ကိုသိမ်းရန် imagepng () ကို သုံးပါ။
? Monochrome Transparent Gifs ကိုကယ်တင်ရန် ImageGIF () ကိုသုံးပါ။
? JPEG သည် JPEG သည်ပွင့်လင်းမြင်သာမှုကိုမထောက်ခံသောကြောင့် isionjpeg () ကို ရှောင်ကြဉ်ပါ။
အကယ်. သင်သည် JPEG ကိုသုံးရန်လိုပါက (ဥပမာဖိုင်အရွယ်အစားကိုလျှော့ချရန်) ကိုသင်ပထမ ဦး ဆုံးဖယ်ရှားပစ်ရန်လိုအပ်သည်။ နောက်ခံကို image for ensionflem နှင့်ဖြည့်နိုင်သည် () သို့မဟုတ်၎င်းကို agecopyresampled () ကို setthesize လုပ်နိုင်သည်။