လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ပုံရိပ်သိမ်းဆည်းခြင်းပုံစံသည်ပွင့်လင်းမြင်သာမှု (JPEG အသုံးပြုခြင်း) ကိုသတ်မှတ်ပြီးသည့်နောက်တွင်မမှန်ကန်ပါ။

ပုံရိပ်သိမ်းဆည်းခြင်းပုံစံသည်ပွင့်လင်းမြင်သာမှု (JPEG အသုံးပြုခြင်း) ကိုသတ်မှတ်ပြီးသည့်နောက်တွင်မမှန်ကန်ပါ။

M66 2025-06-04

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 ဖြင့်သိမ်းဆည်းသည့်အခါပွင့်လင်းမြင်သာမှုအကျိုးသက်ရောက်မှုသည်လုံးဝပျောက်ကွယ်သွားသည်,

ဘာကြောင့်ဒီလိုဖြစ်ရတာလဲ

1 ?? JPEG format ကိုကိုယ်တိုင်ပွင့်လင်းမြင်သာမှုကိုမထောက်ခံပါ

ဒါကအဓိကပြ issue နာပါ။ JPEG (သို့မဟုတ် JPG) သည်ဓာတ်ပုံများကဲ့သို့ပုံရိပ်များသိုလှောင်ရန်အထူးဒီဇိုင်းပြုလုပ်ထားသော lossy compressed image format တစ်ခုဖြစ်သည်။

Memory တွင် transparent pixels (ဥပမာအားဖြင့်အရောင်များကိုသတ်မှတ်ရန် (ဥပမာ isagrecolorlocesspha () ကို သုံးရန်) ကိုဖွင့်ရန် (ဥပမာ agrecolorlocesspha) ကိုရိုက်ကူးရန်အတွက်ပုံရိပ်ကိုဖန်တီးသောအခါ GD စာကြည့်တိုက်သည် Transparency Information ကိုဖယ်ရှားရမည်။

ဤသည်ကို ဦး ဆောင်:

  • ပွင့်လင်းမြင်သာသော areas ရိယာများကိုများသောအားဖြင့်အနက်ရောင်သို့မဟုတ်အဖြူရောင်ဖြင့်ပြည့်နှက်နေသည် (အကောင်အထည်ဖော်ခြင်းအပေါ် မူတည်. );

  • အကယ်. သင်အသုံးပြုသောအရောင်တွင် alpha ရှိပါကသိုလှောင်စဉ်အတွင်းအလှည့်အပြောင်းလွဲမှားခြင်း, ပုံမှန်မဟုတ်သောအရောင်တန်ဖိုးကိုဖြစ်ပေါ်စေသည်။

  • အချို့သောပုံရိပ်ကြည့်ရှုသူများသို့မဟုတ်စာကြည့်တိုက်များသည် JPEG ဖိုင်များတွင် "ပွင့်လင်းမြင်သာသောဒေတာ" ကိုဖတ်သည့်အခါခြွင်းချက်များကိုပြသနိုင်သည်။

2 ?? ၎င်းသည်ပွင့်လင်းမြင်သာမှုကိုထောက်ပံ့သောပုံစံဖြစ်သင့်သည်

သင်၏ပန်းတိုင်သည်ရုပ်ပုံများကိုပွင့်လင်းမြင်သာမှုဖြင့်သိမ်းဆည်းရန်ဖြစ်သည်ဆိုလျှင် 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);
?>

3 ?? အနှစ်ချုပ် - ပုံစံနှင့်ပွင့်လင်းမြင်သာမှုအကြားမတိုက်ဆိုင်မှုကိုရှောင်ကြဉ်ပါ

ပွင့်လင်းမြင်သာမှုကိုအသုံးပြုလိုပါကသတိရပါ။

? PNG format ကိုသိမ်းရန် imagepng () ကို သုံးပါ။
? Monochrome Transparent Gifs ကိုကယ်တင်ရန် ImageGIF () ကိုသုံးပါ။
? JPEG သည် JPEG သည်ပွင့်လင်းမြင်သာမှုကိုမထောက်ခံသောကြောင့် isionjpeg () ကို ရှောင်ကြဉ်ပါ။

အကယ်. သင်သည် JPEG ကိုသုံးရန်လိုပါက (ဥပမာဖိုင်အရွယ်အစားကိုလျှော့ချရန်) ကိုသင်ပထမ ဦး ဆုံးဖယ်ရှားပစ်ရန်လိုအပ်သည်။ နောက်ခံကို image for ensionflem နှင့်ဖြည့်နိုင်သည် () သို့မဟုတ်၎င်းကို agecopyresampled () ကို setthesize လုပ်နိုင်သည်။