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

Imageopenpolygon () ပွင့်လင်းမြင်သာသောနောက်ခံပုံပုံရိပ်များကိုပုံဆွဲရန်အထောက်အကူပြု? လိုက်ဖက်တဲ့သုံးသပ်ချက်

M66 2025-05-18

PHP ၏ GD စာကြည့်တိုက်တွင် Imposopenpolygon () function ကို အသုံးပြု. image တစ်ခုပေါ်တွင်ဖွင့်ထားသော polygon ကိုဆွဲရန်အသုံးပြုသည်။ ImagePolygon () ()) (ပိတ်ပစ် Polygon) နှင့်နှိုင်းယှဉ်ပါက Impectopenpolygon () သည် အစနှင့်အဆုံးမှတ်များကိုအလိုအလျောက်ချိတ်ဆက်ခြင်းမရှိပါ။ ဘုံဖွံ့ဖြိုးရေးလိုအပ်ချက်သည်ပုံသဏ္ဌာန်ပုံစံအမျိုးမျိုးကိုကျော်ပွင့်လင်းမြင်သာသောနောက်ခံဖြင့်ဆွဲရန်ဖြစ်သည်။ ဒါကြောင့် Imposopenpolygon () သည် ပွင့်လင်းမြင်သာသောနောက်ခံများကိုထောက်ပံ့သောရုပ်ပုံများကိုမှန်ကန်စွာအလုပ်လုပ်နိုင်ပါသလား။ ဤဆောင်းပါးသည်၎င်းကိုအသေးစိတ်လေ့လာလိမ့်မည်။

1 ။ Imageopenpolygon () function ကိုမိတ်ဆက်

Imageopenpolygon () ၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 bool imageopenpolygon(
    GdImage $image,
    array $points,
    int $num_points,
    int $color
)
  • $ Image : GD image အရင်းအမြစ် imageecreatetuecolor () သို့မဟုတ်အလားတူ function မှဖန်တီးထားသော gd image အရင်းအမြစ်။

  • $ ရမှတ်များ - ရမှတ်များ၏သွဒီနိတ်များ။

  • $ numpoints : အချက်များအရေအတွက်။

  • $ အရောင် - မျဉ်းကြောင်းဆွဲရန်အသုံးပြုသောအရောင် (ပုံတွင်တာဝန်ကျိသောအရောင်သတ်မှတ်ချက်) ။

မှတ်ချက် - PHP ၏ GD extension ကိုဤ function ကိုအသုံးပြုရန်ဖွင့်ထားရမည်။

2 ။ ပွင့်လင်းနောက်ခံပုံရိပ်တွေကိုဖန်တီးခြင်း

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

  1. true color image တစ်ခုဖန်တီးရန် isaecreatetuecolor () ကိုသုံးပါ။

  2. alpha Channel Saving ကို Enable လုပ်ပါ ( Imagesavealpha () ) ကိုသုံးပါ။

  3. လုံးဝပွင့်လင်းနောက်ခံအရောင်ဖြည့်ပါ။

ဥပမာ -

 <?php
// Transparent နောက်ခံနှင့်ပုံရိပ်ဖန်တီးပါ
$width = 400;
$height = 300;
$image = imagecreatetruecolor($width, $height);

// ပြီးပြည့်စုံသောတ ဦး တည်းကိုကယ်တင်ရန်ခွင့်ပြုပါတယ်alphaအချက်အလက်အချက်အလက်
imagesavealpha($image, true);

// ပွင့်လင်းနောက်ခံနှင့်ပြည့်စုံ
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparent);

// polygon အချက်များသတ်မှတ်ပါ
$points = [
    50, 50,
    300, 100,
    250, 250,
    100, 200
];

// ပုံဆွဲအရောင်သတ်မှတ်ပါ
$color = imagecolorallocate($image, 255, 0, 0); // နီသော

// ဖွင့်လှစ် polygons ဆွဲပါ
imageopenpolygon($image, $points, count($points) / 2, $color);

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

// အရင်းအမြစ်များကိုဖျက်ဆီးသည်
imagedestroy($image);
?>

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

3 ။ Transparent နောက်ခံ () Impacopenpolygon () ကိုလိုက်ဖက်တဲ့ခွဲခြမ်းစိတ်ဖြာခြင်း

GD စာကြည့်တိုက်၏အခြေခံအကောင်အထည်ဖော်မှုမှ Impressopenpolygon () ကိုအခြေခံအားဖြင့်လိုင်း segments များကိုပုံဆွဲရုံဖြင့်ပုံရိပ်၏နောက်ခံပွင့်လင်းမြင်သာမှုနှင့်ဆက်စပ်မှုမရှိပါ။ ထို့ကြောင့်ပွင့်လင်းမြင်သာသောနောက်ခံပုံရိပ်များကိုလိုက်လျောညီထွေဖြစ်ခြင်းသည်ကောင်းသည်။

  • alpha channel ကိုဖျက်ဆီးလိမ့်မည်မဟုတ်ပါ ။ အကယ်. ပုံကိုမှန်ကန်စွာဖွင့်ထားလျှင်ပုံသည် imageopenpolygon () ကိုရေးဆွဲပြီးနောက်ခံနောက်ခံကိုဆက်လက်ထိန်းသိမ်းထားဆဲဖြစ်သည်။

  • အရောင်ထုတ်လုပ်မှုသည်ပုံမှန်ဖြစ်သည် ။ သတ်မှတ်ထားသောသတ်မှတ်ထားသည့်ပုံဆွဲအရောင်သည်ပွ င့ ်လင်းမြင်သာမှုမရှိသရွေ့,

  • စွမ်းဆောင်ရည်သက်ရောက်မှုသည်သေးငယ်သည် - ပိတ်ထားသော polygons များနှင့်နှိုင်းယှဉ်လျှင်ပွင့်လင်းသော polygons များတွင်လိုင်းအစိတ်အပိုင်းတစ်ခုသာရေးဆွဲပြီးစွမ်းဆောင်ရည်သိသိသာသာကွာခြားမှုမရှိပါ။

သို့သော်အချက်နှစ်ချက်ကိုဂရုပြုရန်လိုအပ်သည်။

  • အကယ်. မဟုတ်သည့်အရောင်မဟုတ်သောအရောင်များကိုအသုံးပြုပါက (ဥပမာ imagecreate () မှဖန်တီးထားသော palette images)) တွင်ပွင့်လင်းမြင်သာမှုအပြောင်းအလဲများသည်မပြည့်စုံနိုင်ပါ။ နောက်ခံအရောင်သည်လုံးဝပွင့်လင်းမြင်သာမှုမရှိပါ

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

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

Imageopenpolygon () ပုံရိပ်တွေအပေါ်ပုံသဏ် on ာန်များကိုပွင့်လင်းမြင်သာသောနောက်ခံနှင့်အသွင်သဏ်ဌာန်ကိုဆွဲယူနိုင်ပြီးကောင်းမွန်သောလိုက်ဖက်မှုရှိပြီးမူရင်းပွင့်လင်းမြင်သာမှုများကိုဖျက်ဆီးပစ်ခြင်းမပြုနိုင်ပါ။ alpha channel ကိုမှန်ကန်စွာဖွင့်ပြီးသိမ်းဆည်းရန်ဂရုစိုက်ပါ။

အကယ်. သင်နောက်ထပ်သွားရန်လိုအပ်ပါကပွင့်လင်းမြင်သာသောဂရပ်ဖစ်များကိုပွင့်လင်းမြင်သာသောနောက်ခံဖြင့်ထုတ်လွှင့ ်. ဝက်ဘ်စာမျက်နှာများတွင်ပြသနိုင်ပြီး,

ဆက်စပ်အကြောင်းအရာ