PHP ၏ GD စာကြည့်တိုက်တွင် Imposopenpolygon () function ကို အသုံးပြု. image တစ်ခုပေါ်တွင်ဖွင့်ထားသော polygon ကိုဆွဲရန်အသုံးပြုသည်။ ImagePolygon () ()) (ပိတ်ပစ် Polygon) နှင့်နှိုင်းယှဉ်ပါက Impectopenpolygon () သည် အစနှင့်အဆုံးမှတ်များကိုအလိုအလျောက်ချိတ်ဆက်ခြင်းမရှိပါ။ ဘုံဖွံ့ဖြိုးရေးလိုအပ်ချက်သည်ပုံသဏ္ဌာန်ပုံစံအမျိုးမျိုးကိုကျော်ပွင့်လင်းမြင်သာသောနောက်ခံဖြင့်ဆွဲရန်ဖြစ်သည်။ ဒါကြောင့် Imposopenpolygon () သည် ပွင့်လင်းမြင်သာသောနောက်ခံများကိုထောက်ပံ့သောရုပ်ပုံများကိုမှန်ကန်စွာအလုပ်လုပ်နိုင်ပါသလား။ ဤဆောင်းပါးသည်၎င်းကိုအသေးစိတ်လေ့လာလိမ့်မည်။
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 ကိုအသုံးပြုရန်ဖွင့်ထားရမည်။
ပွင့်လင်းမြင်သာသောနောက်ခံကိုထောက်ပံ့ရန်ဤအဆင့်များကိုသင်လိုက်နာရန်လိုအပ်သည် -
true color image တစ်ခုဖန်တီးရန် isaecreatetuecolor () ကိုသုံးပါ။
alpha Channel Saving ကို Enable လုပ်ပါ ( Imagesavealpha () ) ကိုသုံးပါ။
လုံးဝပွင့်လင်းနောက်ခံအရောင်ဖြည့်ပါ။
ဥပမာ -
<?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 များကိုပွင့်လင်းမြင်သာသောနောက်ခံပေါ်တွင်ဆွဲနိုင်သည်။
GD စာကြည့်တိုက်၏အခြေခံအကောင်အထည်ဖော်မှုမှ Impressopenpolygon () ကိုအခြေခံအားဖြင့်လိုင်း segments များကိုပုံဆွဲရုံဖြင့်ပုံရိပ်၏နောက်ခံပွင့်လင်းမြင်သာမှုနှင့်ဆက်စပ်မှုမရှိပါ။ ထို့ကြောင့်ပွင့်လင်းမြင်သာသောနောက်ခံပုံရိပ်များကိုလိုက်လျောညီထွေဖြစ်ခြင်းသည်ကောင်းသည်။
alpha channel ကိုဖျက်ဆီးလိမ့်မည်မဟုတ်ပါ ။ အကယ်. ပုံကိုမှန်ကန်စွာဖွင့်ထားလျှင်ပုံသည် imageopenpolygon () ကိုရေးဆွဲပြီးနောက်ခံနောက်ခံကိုဆက်လက်ထိန်းသိမ်းထားဆဲဖြစ်သည်။
အရောင်ထုတ်လုပ်မှုသည်ပုံမှန်ဖြစ်သည် ။ သတ်မှတ်ထားသောသတ်မှတ်ထားသည့်ပုံဆွဲအရောင်သည်ပွ င့ ်လင်းမြင်သာမှုမရှိသရွေ့,
စွမ်းဆောင်ရည်သက်ရောက်မှုသည်သေးငယ်သည် - ပိတ်ထားသော polygons များနှင့်နှိုင်းယှဉ်လျှင်ပွင့်လင်းသော polygons များတွင်လိုင်းအစိတ်အပိုင်းတစ်ခုသာရေးဆွဲပြီးစွမ်းဆောင်ရည်သိသိသာသာကွာခြားမှုမရှိပါ။
သို့သော်အချက်နှစ်ချက်ကိုဂရုပြုရန်လိုအပ်သည်။
အကယ်. မဟုတ်သည့်အရောင်မဟုတ်သောအရောင်များကိုအသုံးပြုပါက (ဥပမာ imagecreate () မှဖန်တီးထားသော palette images)) တွင်ပွင့်လင်းမြင်သာမှုအပြောင်းအလဲများသည်မပြည့်စုံနိုင်ပါ။ နောက်ခံအရောင်သည်လုံးဝပွင့်လင်းမြင်သာမှုမရှိပါ
JPEG format သို့တင်ပို့သည့်အခါပွင့်လင်းမြင်သာသောအပိုင်းကိုအနက်ရောင်သို့မဟုတ်အဖြူရောင်ဖြင့်ဖြည့်ပါလိမ့်မည်။ PNG format ကိုသုံးရန် PNG format ကိုသုံးရန်အကြံပြုသည်။
Imageopenpolygon () ပုံရိပ်တွေအပေါ်ပုံသဏ် on ာန်များကိုပွင့်လင်းမြင်သာသောနောက်ခံနှင့်အသွင်သဏ်ဌာန်ကိုဆွဲယူနိုင်ပြီးကောင်းမွန်သောလိုက်ဖက်မှုရှိပြီးမူရင်းပွင့်လင်းမြင်သာမှုများကိုဖျက်ဆီးပစ်ခြင်းမပြုနိုင်ပါ။ alpha channel ကိုမှန်ကန်စွာဖွင့်ပြီးသိမ်းဆည်းရန်ဂရုစိုက်ပါ။
အကယ်. သင်နောက်ထပ်သွားရန်လိုအပ်ပါကပွင့်လင်းမြင်သာသောဂရပ်ဖစ်များကိုပွင့်လင်းမြင်သာသောနောက်ခံဖြင့်ထုတ်လွှင့ ်. ဝက်ဘ်စာမျက်နှာများတွင်ပြသနိုင်ပြီး,