PHP ၏ GD စာကြည့်တိုက်ကို သုံး. ဂရပ်များကိုဆွဲယူသောအခါ developer များသည်တစ်ခါတစ်ရံတွင်မယားများပေါ်တွင်ကပ်ရန်လိုအပ်သည်။ အစဉ်အလာအရ, Imageopenpolygon () function ကို function ကိုဆွန်း polygon outline ဆွဲနိုင်ပါတယ်။ သို့သော်တစ်ခါတစ်ရံကျွန်ုပ်တို့သည် IDEFFELPOLYGON () ကို ပိုမိုပြောင်းလွယ်ပြင်လွယ်ပုံဆွဲခြင်းသက်ရောက်မှုများရရှိရန်အတွက်အထူးသဖြင့်အရောင်ဖြည့်စွက်ခြင်းနှင့်စတိုင်များကိုကိုင်တွယ်ရန်လိုအပ်သည့်အခါကျွန်ုပ်တို့လိုအပ်သည်။ ဤဆောင်းပါးသည် Imageopenpolygon () အစား IdentefoldPolygon () ကိုမည်သို့အသုံးပြုရမည် () သည် Hollow Polygons ၏ပြ problem နာကိုဖြေရှင်းရန်မိတ်ဆက်ပေးလိမ့်မည်။
Imageopenpolygon () သည်အဓိကအားဖြင့် Hollow Polygons ဆွဲရန်အသုံးပြုသည်။ Idefeflepolygon () သည် ဖြည့်ထားသော polygon ကိုတိုက်ရိုက်ဆွဲနိုင်သည်။
Polygons များကိုနယ်နိမိတ်အရောင်များသို့မဟုတ်ပိုမိုရှုပ်ထွေးသောထိန်းချုပ်မှုများဖြင့်ဆွဲယူလိုပါက imageflepolygon () သည် ပို. ပြောင်းလွယ်ပြင်လွယ်ရှိသည်။ အထူးသဖြင့် Imageopenpolygon () မတူကွဲပြားသောပုံဆွဲခြင်းလိုအပ်ချက်များကိုမထောက်ပံ့ပါ ။
အခြေခံအယူအဆကတော့
IDEFFELEPOLYGON ( နောက်ခံသို့မဟုတ်ပွင့်လင်းမြင်သာသောအရောင်ဖြင့်ဖြည့်ပါ)
polygon ၏နယ်နိမိတ်ကိုသီးခြားစီဆွဲရန် စိတ်ကူးeleline () ကို သုံးပါ။
၎င်းသည်လိုချင်သောဆွန်း polygon အကျိုးသက်ရောက်မှုကိုရရှိရန်အတွက်ဖြည့်အရောင်နှင့်နယ်စပ်အရောင်ကိုကိုယ်တိုင်ထိန်းချုပ်ရန်ခွင့်ပြုသည်။
အောက်တွင်ဖော်ပြထားသောဥပမာတစ်ခုမှာ Identefreypolygon ကို မည်သို့အသုံးပြုရမည်ကိုပြသသည့်အပြည့်အဝပုံရိပ်သည် Imageopenpolygon () နှင့်ဆင်တူသည်။
<?php
// ပတ်တူဖန်တီးပါ
$image = imagecreatetruecolor(300, 300);
// အရောင်များကိုသတ်မှတ်ပါ
$white = imagecolorallocate($image, 255, 255, 255);
$borderColor = imagecolorallocate($image, 0, 0, 0);
// နောက်ခံဖြည့်ပါ
imagefill($image, 0, 0, $white);
// တစ် polygon ၏အချက်ကိုသတ်မှတ်ပါ
$points = [
50, 50,
250, 70,
200, 200,
100, 250,
60, 150
];
// Polygons ဖြည့်ပါ(နောက်ခံအရောင်ကိုသုံးပါ,အတွင်းပိုင်းပွင့်လင်းသို့မဟုတ်တူညီသောအရောင်ကိုစောင့်ရှောက်လော့)
imagefilledpolygon($image, $points, count($points) / 2, $white);
// Polygon နယ်နိမိတ်ဆွဲပါ
$num_points = count($points) / 2;
for ($i = 0; $i < $num_points; $i++) {
$x1 = $points[$i * 2];
$y1 = $points[$i * 2 + 1];
$x2 = $points[(($i + 1) % $num_points) * 2];
$y2 = $points[(($i + 1) % $num_points) * 2 + 1];
imageline($image, $x1, $y1, $x2, $y2, $borderColor);
}
// output ကိုပုံ
header('Content-Type: image/png');
imagepng($image);
// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($image);
?>
IDEFEFELPOLYGON () အတွင်းပိုင်း area ရိယာကိုအရောင်ပြောင်းခြင်းမှကာကွယ်ရန်နောက်ခံအရောင်နှင့်ဖြည့်ထားသည်။
Polygon ၏အပြင်ဘက်နယ်စပ်ကိုဆွဲရန် Vertex တစ်ခုချင်းစီကိုကိုယ်တိုင်ချိတ်ဆက်ရန် loop imageline () ကို သုံးပါ။
($ i + 1)% $ numpoints $ numpoints သည် နောက်ဆုံးအချက်နှင့်ချိတ်ဆက်နိုင်သည်ကိုသေချာစေသည်။
အကယ် . သင်သည်အတွင်းပိုင်းပွင့်လင်းမြင်သာမှုကိုသင်လိုချင်ပါက,
နောက်ခံသည်အစိုင်အခဲအရောင်မဟုတ်လျှင် implainflededpolygon () ကို သင့်လျော်စွာဖြည့်စွက်ခြင်း,