လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Transparent Image Effects အောင်မြင်ရန် ImageFileter () ကိုသုံးပါ

Transparent Image Effects အောင်မြင်ရန် ImageFileter () ကိုသုံးပါ

M66 2025-05-19

PHP တွင် isionecolorallochocealpha နှင့် ImageFileter () function များသည် functions ပေါင်းစပ်မှုများကိုဖန်တီးရန်ကူညီနိုင်သည်။ ယနေ့ကျွန်ုပ်တို့သည်ဤလုပ်ငန်းဆောင်တာများကိုပုံရိပ်များအတွက်ပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုများထည့်သွင်းရန်နှင့်စစ်ထုတ်သည့်အရာများကိုအသုံးပြုရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုလေ့လာပါမည်။

1 ။ ImageColorallocatealpha function ကိုမိတ်ဆက်

Imagecolorallocatealpha () PHP ရှိ function တစ်ခုဖြစ်သော function သည်ရုပ်ပုံများကိုအရောင်များကိုသတ်မှတ်လေ့ရှိပြီးအထူးသဖြင့်ကျွန်ုပ်တို့ကပွင့်လင်းမြင်သာမှုကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ ဒီ function ကိုအောက်ပါအတိုင်းအသုံးပြုသည် -

 imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha): int
  • $ Image : ပုံရိပ်အရင်းအမြစ်ကိုပစ်မှတ်ထားသည်။

  • $ အနီရောင် , $ အစိမ်းရောင် , $ အပြာရောင် - 0 မှ 255 အထိအသီးသီးအနီရောင်, အစိမ်းရောင်နှင့်အပြာများ၏အရောင်တန်ဖိုးများကိုကိုယ်စားပြုသည်။

  • $ alpha : Transparency တန်ဖိုး, 0 သည်လုံးဝမမြင်နိုင်ပါ။ 127 သည်လုံးဝပွင့်လင်းမြင်သာမှုကိုဆိုလိုသည်။

ISEACOLORALOCALOULEALEALEALEALIT function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပုံရိပ်တစ်ခုအားပွင့်လင်းမြင်သာမှုနှင့်အရောင်တစ်ခုသတ်မှတ်နိုင်သည်။

2 ။ ImageFilter () function ကိုမိတ်ဆက်

ပုံflocter () function ကိုပုံရိပ်များအတွက် filter sfter များနှင့်သက်ဆိုင်သည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 imagefilter(resource $image, int $filtertype, mixed ...$arg): bool
  • $ Image : ပုံရိပ်အရင်းအမြစ်ကိုပစ်မှတ်ထားသည်။

  • $ formenttype : filter type, PHP သည် Image Greyscale, Blur စသည့် filter အမျိုးအစားအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။

  • $ arg : filter နှင့်သက်ဆိုင်သောအခြား parameters များ။

ပွင့်လင်းမြင်သာမှုနှင့် filter effects များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ရုပ်ပုံများကိုအလွန်ဆွဲဆောင်မှုရှိသောပုံအချို့ကိုဖန်တီးနိုင်သည်။

3 ။ ဥပမာ - Transparency Gradient ကိုအကောင်အထည်ဖော်ခြင်း

အောက်ဖော်ပြပါကုဒ်သည် Imagecolorallocatealpha နှင့် ImageFileter () function များကို အသုံးပြု. Transparent Gradient Effect နှင့်ပုံတစ်ပုံမည်သို့ဖန်တီးရမည်ကိုပြသသည်။

Code Perfection:

 <?php
// အလွတ်တစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(400, 400);

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

// Gradientients ကိုဖန်တီးပါ:တဖြည်းဖြည်းလက်ဝဲမှညာဘက်မှပွင့်လင်းမြင်သာမှုတိုးမြှင့်
for ($x = 0; $x < 400; $x++) {
    $alpha = (int)(127 * ($x / 400)); // မှ 127 (လုံးဝပွင့်လင်း) မှ gradient ကို 0 (လုံးဝ opaque)
    $color = imagecolorallocatealpha($image, 255, 0, 0, $alpha); // အနီရောင် gradient
    imageline($image, $x, 0, $x, 400, $color); // ပုံကိုဖြည့်ရန်လိုင်းများဆွဲပါ
}

// Gaussian fuzzy filter ကိုသုံးပါ
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);

// browser မှ output ကိုပုံရိပ်
header('Content-Type: image/png');
imagepng($image);

// အရင်းအမြစ်များကိုသန့်ရှင်းရေး
imagedestroy($image);
?>

ရှင်းပြပါ:

  1. ကျနော်တို့ပထမ ဦး ဆုံး 400x400 ရဲ့ကွက်လပ်ကိုဖွင့်ပြီးနောက်ခံကိုပွင့်လင်းမြင်သာမှုရှိအောင်လုပ်ခဲ့တယ်။

  2. ထို့နောက်ကျွန်ုပ်တို့သည်ပုံရိပ်တွင် gradient red line ဆွဲရန်နှင့်၎င်း၏ပွင့်လင်းမြင်သာမှုကိုတဖြည်းဖြည်းချင်းပြောင်းလဲရန် Emagecolorallocealpha ကို အသုံးပြုသည်။

  3. နောက်ဆုံးတော့ကျွန်တော်တို့ဟာပုံရိပ်ကိုပိုပြီးပျော့ပျောင်းစေဖို့ Gaussian Blur filter တွေကိုသုံးဖို့ ပုံfusterter () ကို သုံးတယ်။

  4. ပုံရိပ်ကို browser ကို output လုပ်ရန် ImagePng () function ကိုသုံးပါ။

ဤနည်းအားဖြင့်နောက်ဆုံး display သည်ဘယ်ဘက်မှညာသို့တဖြည်းဖြည်းပြောင်းလဲသွားသောအနီရောင်အစင်းဖြစ်လိမ့်မည်။

4 ။ အကျဉ်းချုပ်

ImageColorallocatealealealpha ကိုအသုံးပြုပြီး ပုံfegfileter () function ကို အသုံးပြု. ပုံရိပ်များကိုပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုများနှင့်အလွန်အဆင်ပြေစွာဖြင့်ဖန်တီးနိုင်သည်။ ဤနည်းလမ်းကိုပုံရိပ်လှည့်ကွက်များ,

ဤလုပ်ဆောင်မှုများကိုအသုံးပြုသောအခါမှတ်ဉာဏ်ယိုစိမ့်မှုမရှိစေရန်ပုံရိပ်များ၏ဖန်ဆင်းခြင်းနှင့်ဖျက်ဆီးခြင်းကိုဂရုပြုရန်သတိရပါ။