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

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

M66 2025-05-23

PHP ၏ GD စာကြည့်တိုက်ကိုပုံရိပ်ထုတ်ယူရန်အတွက် PHP ၏ GD စာကြည့်တိုက်ကိုအသုံးပြုသောအခါတစ်ခါတစ်ရံတွင်အဖြူရောင်သို့မဟုတ်အနက်ရောင်ကိုဖြည့်မည့်အစား PNG ရုပ်ပုံများကိုထုတ်လုပ်သည့်အခါကျောက်တုံးများကိုပွင့်လင်းမြင်သာမှုရှိစေရန်နောက်ခံသမိုင်းအဖြစ်သတ်မှတ်ရန်လိုအပ်သည်။ ဤအကျိုးသက်ရောက်မှု ကို ရရှိရန်အတွက်သင်သည်အဓိကအားဖြင့်လုပ်ဆောင်ချက်နှစ်ခုကိုအဓိကအသုံးပြုနိုင်သည်

ဤဆောင်းပါးသည်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။

နိဒါန်းနိဒါန်း

imagecolorallocatealpha ()

 int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )

ဤလုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသောပုံသို့အရောင်သတ်မှတ်ရန်နှင့်ပွင့်လင်းမြင်သာမှုကိုသတ်မှတ်ရန်အသုံးပြုသည်။

  • $ အနီရောင်, $ အစိမ်းရောင်, $ အပြာ : RGB အရောင်တန်ဖိုး (0-255)

  • $ alpha : Transparency Value (0 လုံးဝမွမ်းမံသည် ဖြစ်. 127 လုံးသည်လုံးဝပွင့်လင်းမြင်သာမှုရှိသည်)

ပြန်ရောက်သည့်တန်ဖိုးသည်အရောင်အသွေးစုံလင်သော အရောင်အသွေးစုံလင် သူဖြစ်ပြီး,

imageflemefelect ()

 bool imagefill ( resource $image , int $x , int $y , int $color )

ဒီ function ကိုသတ်မှတ်ထားသောအရောင်နှင့်အတူပုံကိုဖြည့်ရန်အသုံးပြုသည်။

  • $ x, $ y : အစမှတ်၏သွဒီနိတ်များကိုဖြည့်ပါ

  • $ အရောင် - အသုံးပြုရန်အရောင်သတ်မှတ်ချက်

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

လက်တွေ့ကျတဲ့ဥပမာ - PNG ပုံရိပ်ကိုပွင့်လင်းမြင်သာစွာဖြင့်ဖန်တီးပါ

အောက်ဖော်ပြပါ PHP ကုဒ်သည် GD စာကြည့်တိုက်ကိုမည်ကဲ့သို့အသုံးပြုရမည်ကိုပြသသော PHP ကုဒ်သည် 200x200 PNG ပုံရိပ်ကိုပွင့်လင်းမြင်သာသောနောက်ခံဖြင့်ထုတ်ပေးရန်နှင့်အလယ်တွင်အနီရောင်စက်ဝိုင်းကိုဆွဲယူရမည်ကိုပြသခဲ့သည်။

 <?php
// a 200x200 စစ်မှန်သောအရောင်ပုံရိပ်
$width = 200;
$height = 200;
$image = imagecreatetruecolor($width, $height);

// အရောင်ရောနှော mode ကိုပိတ်ထားပါ,သိမ်းဆည်းပါ alpha အချက်အလက်အချက်အလက်
imagealphablending($image, false);
imagesavealpha($image, true);

// လုံးဝပွင့်လင်းအရောင်သတ်မှတ်ပါ
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);

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

// အနီရောင်သတ်မှတ်ပါ(opaque)
$red = imagecolorallocate($image, 255, 0, 0);

// အလယ်၌အနီရောင်စက်ဝိုင်းဆွဲပါ
imagefilledellipse($image, $width / 2, $height / 2, 100, 100, $red);

// output ကိုပုံရိပ်ဖြစ်ပါတယ် PNG
header('Content-Type: image/png');
imagepng($image);

// မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($image);
?>

code parsing

1 ?? image အရင်းအမြစ်များကိုဖန်တီးပါ ကျွန်ုပ်တို့သည်စစ်မှန်သောအရောင်ဖန်တီးမှုကိုဖန်တီးရန် ISEACREATETRUECOURECORECORECORECORECORECORECOLE ကို အသုံးပြုသည်။

2 ?? ပွင့်လင်းနောက်ခံ enable
GD သည် alpha အချက်အလက်များကိုပုံမှန်အားဖြင့်မသိမ်းဆည်းပါ။

 imagealphablending($image, false);
imagesavealpha($image, true);

3 ?? ပွင့်လင်းအရောင်များဖြင့်ခွဲဝေနှင့်ဖြည့်ပါ လုံးဝပွင့်လင်းမြင်သာသောအရောင် (alpha = 127) ကိုဖန်တီးရန် isagecolorallocatealpha () ကိုသုံးပါ။ ထို့နောက် Canvas တစ်ခုလုံးကိုဖြည့်စွက်ရန် implication () ကိုသုံးပါ။

4 ?? အကြောင်းအရာကိုဆွဲပါ ဤတွင်ကျွန်ုပ်တို့သည်စာသား, ရုပ်ပုံများ, ရုပ်ပုံများစသည်တို့ကိုပြောင်းလဲနိုင်သောအနီရောင်စက်ဝိုင်းတစ်ခုကိုရေးဆွဲထားသည်။

5 ?? output image <br> Output ('Content-type: image: image / PNG / PNG') ကို အသုံးပြုပါ။ ထို့နောက် output ကို output ကို output လုပ်ရန် isionpng () ကိုသုံးပါ။

 imagepng($image, '/path/to/save/output.png');

အကြံပေးချက်များ

? File ကိုသိမ်းပါ ဆာဗာသို့ပုံကိုသိမ်းဆည်းလိုပါကသင်လုပ်နိုင်သည် -

 imagepng($image, 'https://m66.net/images/output.png');

? GIF သို့ပြောင်းပါ
GIF သည်ပွင့်လင်းမြင်သာသောနောက်ခံများကိုလည်းထောက်ခံသော်လည်းပွင့်လင်းအကောင်အထည်ဖော်မှုနည်းလမ်းသည်ကွဲပြားခြားနားသည်။ သငျသညျ imagecolortransparent () ကို သုံးနိုင်သည်။

? ခွင့်ပြုချက်ကိုဂရုပြုပါ ဆာဗာလမ်းညွှန်သို့သိမ်းဆည်းသောအခါ PHP လုပ်ငန်းသည် PHP လုပ်ငန်းခွင်တွင်ခွင့်ပြုချက်များရှိသည်ကိုသေချာအောင်လုပ်ပါ။