လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ပုံရိပ်တွေ Transparent Channel ကိုပုံရိပ်တွေကိုဘယ်လိုပေါင်းစပ်မလဲ ()

ပုံရိပ်တွေ Transparent Channel ကိုပုံရိပ်တွေကိုဘယ်လိုပေါင်းစပ်မလဲ ()

M66 2025-05-22

PHP တွင်ကျွန်ုပ်တို့သည်ရုပ်ပုံသည်ပွင့်လင်းမြင်သာသောနောက်ခံကိုထောက်ပံ့ရန် ImagecolorallalPha function နှင့် ImagainPealpha function ကိုသုံးနိုင်သည်။ ၎င်းသည် PNG ရုပ်ပုံများ, ရွေ့လျားနေသောရုပ်ပုံပြုပြင်ခြင်းသို့မဟုတ်ပုံတည်းဖြတ်ခြင်းကိုဖြစ်ပေါ်စေသည့်အခါ၎င်းသည်ပွင့်လင်းမြင်သာမှုကိုထိန်းသိမ်းရန်အလွန်အသုံးဝင်သည်။ ပွင့်လင်းမြင်သာသောရုပ်ပုံများကိုကိုင်တွယ်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးတွင်အသေးစိတ်ရှင်းပြပါမည်။

1 ။ အလွတ်တစ်ခုကိုဖန်တီးပြီးပွင့်လင်းသောနောက်ခံကိုသတ်မှတ်ပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည်ပုံတစ်ကွက်ကိုဖန်တီးရန်နှင့်၎င်းကိုအရောင်သတ်မှတ်ရန်လိုအပ်သည်။ အကယ်. သင်ပုံရိပ်ကိုပွင့်လင်းမြင်သာသောနောက်ခံကိုထောက်ပံ့ရန်လိုပါကပုံရိပ်၏ပွင့်လင်းမြင်သာသောအရောင်ကိုသတ်မှတ်ရန်လိုအပ်သည်။

 <?php
// a 500x500 အလွတ်
$image = imagecreatetruecolor(500, 500);

// ပွင့်လင်းမြင်သာမှုသတင်းအချက်အလက်စုဆောင်းခွင့်ပြုပါတယ်
imagesavealpha($image, true);

// ပွင့်လင်းအရောင်များကိုသတ်မှတ်ပါ (သွား imagecolorallocatealpha အရောင်များကိုသတ်မှတ်ပါ)
// imagecolorallocatealpha(ပစ္စည်းအင်းအား, နီသော, စိမ်းလန်းသော, ပြာသော, ပွင့်လင်းတင်)
// ပွင့်လင်းတင်的范围是 0 ရောက်လာ 127,0 စုစုပေါင်း opaqueness ဖော်ပြသည်,127 ပြည့်စုံ Transparency ဖော်ပြသည်
$transparent = imagecolorallocatealpha($image, 255, 255, 255, 127);

// ပုံရိပ်နောက်ခံကိုပွင့်လင်းမြင်သာစွာဖြည့်ပါ
imagefill($image, 0, 0, $transparent);

// အခြားပုံဆွဲစစ်ဆင်ရေးကိုဒီမှာဖျော်ဖြေနိုင်ပါတယ်

// output ကိုပုံ(စမ်းသပ်ခြင်းသည်,ငါတို့ပုံတွေကိုချွေတာပါ)
imagepng($image, "transparent_image.png");

// 销毁图像ပစ္စည်းအင်းအား
imagedestroy($image);
?>

ရှင်းပြပါ:

  1. ImagecreatetRuecolor () သည် 500x500 ၏စစ်မှန်သောအရောင်ပုံရိပ်အရင်းအမြစ်ကိုဖန်တီးသည်။

  2. Imagesavealpha () function သည် image transparency အထောက်အပံ့ကိုရရှိစေသည်။

  3. အဆိုပါ imagecolorallallocatealealpha () function ကို image မှပွင့်လင်းမြင်သာသောအရောင်သတ်မှတ်ထားသည်။ ဤဥပမာတွင်ကျွန်ုပ်တို့သည်ပုံရိပ်နောက်ခံအတွက်ပွင့်လင်းမြင်သာသောအရောင်များကိုသတ်မှတ်ထားသည် (Transparency သည် 127 ဖြစ်သည်) ။

  4. Idefeflem () ပုံတစ်ခုလုံးကိုပွင့်လင်းမြင်သာစွာဖြင့်ဖြည့်ဆည်းပေးသည်။

2 ။ ပွင့်လင်းသောနောက်ခံနှင့်အခြား element တွေကိုဆွဲပါ

အကယ်. သင်သည်ပွင့်လင်းမြင်သာသောနောက်ခံဖြင့်ပုံတစ်ပုံဖြင့်အခြား element များကိုဆွဲဆောင်လိုပါကကွဲပြားခြားနားသောပွင့်လင်းမြင်သာမှုကိုသတ်မှတ်ရန် imagecolorallochae function ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ပုံရိပ်ပေါ်ပွင့်လင်းမြင်သာမှုနှင့်စတုဂံဆွဲနိုင်သည်။

 <?php
// a 500x500 အလွတ်
$image = imagecreatetruecolor(500, 500);

// ပွင့်လင်းမြင်သာမှုသတင်းအချက်အလက်စုဆောင်းခွင့်ပြုပါတယ်
imagesavealpha($image, true);

// ပွင့်လင်းနောက်ခံ set
$transparent = imagecolorallocatealpha($image, 255, 255, 255, 127);
imagefill($image, 0, 0, $transparent);

// Translucen စတုဂံအရောင်ကိုသတ်မှတ်ပါ
$semiTransparent = imagecolorallocatealpha($image, 255, 0, 0, 64); // 半透明的နီသော

// Translucent စတုဂံဆွဲပါ
imagefilledrectangle($image, 50, 50, 200, 200, $semiTransparent);

// output ကိုပုံ
imagepng($image, "semi_transparent_rectangle.png");

// 销毁图像ပစ္စည်းအင်းအား
imagedestroy($image);
?>

ရှင်းပြပါ -

  • ဒီကုဒ်ထဲမှာစတုဂံအတွက်အနီရောင်အနီရောင် (ပွင့်လင်းမြင်သာမှုသည် 64) ။ ဤနည်းအားဖြင့်စတုဂံပုံရိယာသည်ပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုရှိလိမ့်မည်။

3 ။ Transparent channel ကိုနှင့်အတူပုံရိပ်ကိုသိမ်းပြီး output

သင် isagecolorallocatealpha နှင့် Imagesavealpha function များကိုအသုံးပြုသောအခါ PNG ကဲ့သို့သောပွင့်လင်းမြင်သာသောပုံစံဖြင့်ပုံကိုသိမ်းဆည်းရန်သေချာအောင်လုပ်ပါ။

 <?php
// a 500x500 အလွတ်
$image = imagecreatetruecolor(500, 500);

// ပွင့်လင်းမြင်သာမှုသတင်းအချက်အလက်စုဆောင်းခွင့်ပြုပါတယ်
imagesavealpha($image, true);

// ပွင့်လင်းနောက်ခံ set
$transparent = imagecolorallocatealpha($image, 255, 255, 255, 127);
imagefill($image, 0, 0, $transparent);

// ဒီမှာသင်အခြားဒြပ်စင်ဆွဲဆောင်နိုင်ပါတယ်...

// output ကိုပုံရောက်လာ浏览器
header('Content-Type: image/png');
imagepng($image);

// 销毁图像ပစ္စည်းအင်းအား
imagedestroy($image);
?>

ရှင်းပြပါ:

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်ပုံရိပ်ကို ImagePng () မှတစ်ဆင့် browser သို့တိုက်ရိုက်ထုတ်ပေးသည်။ Browser ကိုမှန်ကန်စွာအသိအမှတ်ပြုရန် Browser ကိုမှန်ကန်စွာအသိအမှတ်ပြုရန် Header (Content-type: image / part ') ကို အသုံးပြုရန်သတိရပါ။

Imagecolorallocatealpha နှင့် Imagesavealpha functions များကိုအသုံးပြုခြင်းအားဖြင့် PHP သည် PHP သည် PHP သည် PHP သည် PHP ကိုပွင့်လင်းမြင်သာသောလမ်းကြောင်းများနှင့်ပိုမိုထိရောက်စေသည်။ ပုံရိပ်ပေါ်ပေါ်ရှိပွင့်ပွင့်လင်းလင်းဖြင့်ပွင့်လင်းသောနောက်ခံဖြင့်ပုံဖော်ခြင်းသို့မဟုတ်ပုံဆွဲခြင်းဆိုင်ရာအချက်အလက်များဖန်တီးခြင်းရှိမရှိသင့်အားပြောင်းလွယ်ပြင်လွယ်နှင့်ထိန်းချုပ်မှုကိုပိုမိုပေးလိမ့်မည်။