PHP ၏ GD စာကြည့်တိုက်သည် Game Map Editor သို့မဟုတ်အလိုအလျောက်ထုတ်ပေးသည့်နေရာများထုတ်လုပ်သည့်အခါအလွန်အသုံးဝင်သောပုံဆွဲခြင်းလုပ်ငန်းများကိုပေးသည်။ Imageopenpolygon () သည် polygons များကိုဖွင့်ရန်အသုံးပြုသောလုပ်ဆောင်ချက်တစ်ခု (I.E. , unclesed lines collects) ကိုရေးဆွဲရန်အသုံးပြုသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ Imageopenpolygon () သည်အလိုအလျောက်ပိတ်ထားသည့် Imageopenpolygon () နှင့်နှိုင်းယှဉ်လျှင်မမှန်မကန်မြေပြင်အနေအထားများစသည်တို့,
Ofopenpolygon ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
Imageopenpolygon () သည် GD စာကြည့်တိုက်မှပေးသော vertex ကိုသွဒီနိတ်များအပေါ် အခြေခံ. အဆက်မပြတ် မဟုတ်သည့် လိုင်းများကိုဆွဲဆောင်ရန် GD စာကြည့်တိုက်မှပေးသောလုပ်ဆောင်ချက်များထဲမှတစ်ခုဖြစ်သည်။
အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
bool imageopenpolygon(
GdImage $image,
array $points,
int $num_points,
int $color
)
$ Image : GD image အရင်းအမြစ်အရာဝတ်ထု။
$ ရမှတ်များ - Vertex ကိုသွဒီနိတ်များပါ 0 င်သည့် array (X, Y, Y) ။
$ numpoints : ဒေါင်လိုက်အရေအတွက်။
$ အရောင် - မျဉ်း၏အရောင်ကိုရေးဆွဲထားသည်။
ရှုပ်ထွေးပြီးရှုပ်ထွေးသောမြေပုံများဆွဲသည့်အခါတွင်ပိတ်ထားသောပိုလန်ဂိုးများသည်အမှန်တကယ်လိုအပ်ချက်များနှင့်မကိုက်ညီပါ။ ဥပမာအားဖြင့်, Open Polygons များကိုအသုံးပြုခြင်းသည်ကမ်းရိုးတန်းများ, မြစ်အနားသို့မဟုတ်မပြီးဆုံးသေးသောမြေအောက်လွှာများကိုပုံဆွဲသောအခါပိုမိုသဘာဝကျပြီးထိရောက်စေသည်။
ImagePolygon () ကို အသုံးပြုသည်ဆိုပါကခေါင်းနှင့်အမြီးအချက်များကိုအချိန်တိုင်းချိတ်ဆက်ရန်အတင်းအကျပ်ခိုင်းစေခံရသည်။ Imageopenpolygon () ဤပြ problem နာကိုရှောင်ကြဉ်ပါ။
PHP တွင်မြေပုံအောက်လိုင်းကိုထုတ်လွှင့်ရန်ရိုးရှင်းလွယ်ကူစေရန်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// ဗလာပတ်တူတစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(800, 600);
// နောက်ခံအဖြူသို့သတ်မှတ်ပါ
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
// အကြမ်းဖျင်းအရောင်ကိုသတ်မှတ်ပါ(ပြာသော)
$blue = imagecolorallocate($image, 0, 0, 255);
// မြေပုံကိုဖော်ပြပါ (x, y) စာရင်း
$points = [
100, 150,
200, 130,
300, 180,
400, 200,
500, 250,
600, 300
];
// ဖွင့်လှစ် polygons ဆွဲပါ(မြေပုံအောက်လိုင်း)
imageopenpolygon($image, $points, count($points) / 2, $blue);
// browser မှ output ကို
header('Content-Type: image/png');
imagepng($image);
// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($image);
?>
အထက်ပါကုဒ်သည်ချောချောမွေ့မွေ့သောမြေပုံပုံကိုဆွဲယူပါလိမ့်မည်။ ကမ်းရိုးတန်းများ, မြေပြင်အနေအထားပရိုဖိုင်းများသို့မဟုတ်လမ်းကွန်ယက်များထုတ်ဖော်ရန်အကောင်းဆုံးသောအစနှင့်အဆုံးမှတ်များကိုအလိုအလျောက်မပိတ်ပါ။
အကယ်. သင်သည် m66.net သို့လမ်းကြောင်းကဲ့သို့သောဆာဗာသို့ပုံကိုဆာဗာသို့သိမ်းဆည်းလိုပါက၎င်းကိုပြောင်းလဲနိုင်သည်။
imagepng($image, '/var/www/m66.net/uploads/map_outline.png');
ရှုပ်ထွေးပြီးကြီးမားတဲ့မြေပုံဖော်ပြချက်များပုံဆွဲသောအခါ၎င်းကိုအကြံပြုသည်။
Vertices အရေအတွက်ကိုရိုးရှင်းအောင်ပြုလုပ်ခြင်း - အချက်များအရေအတွက်ကိုလျှော့ချရန်ဒေါက်ဂလပ် - packer algorithm သို့မဟုတ်အခြားရိုးရှင်းသော algorithm ကိုအသုံးပြုပါ။
သုတ်ထွက်မှု - မြေပုံအမြောက်အများကိုထုတ်လုပ်ရန်လိုအပ်ပါက GD အရင်းအမြစ်များကိုမကြာခဏဖန်တီးရန်နှင့်ဖျက်ဆီးခြင်း၏ overhead ကိုလျှော့ချရန်၎င်းတို့အားသုတ်နိုင်သည်။
cacheing ယန္တရားကိုသုံးပါ ။ တည်ငြိမ်သောမြေပုံဖော်ပြချက်များအနေဖြင့်၎င်းကိုတစ်ဆက်ပြီးနောက်တွင်ပုံရိပ်ဖိုင်တစ်ခုအနေဖြင့်သိမ်းဆည်းထားပြီးနောက်မှတိုက်ရိုက်ဖတ်ပါ။
Point Array ကို x နှင့် Y နှင့်အခြားနည်းလမ်းဖြင့်စီစဉ်ထားရမည်။
အဆိုပါ numpoints parameter သည် array အရှည်မဟုတ်, အချက်များအရေအတွက်ဖြစ်ရမည်။
ဆာဗာသည် PHPG GD extension ကိုတပ်ဆင်ပြီးဖွင့်ထားကြောင်းသေချာအောင်လုပ်ပါ။
imageopenpolygon ကိုအသုံးပြုပြီး () ကို အသုံးပြု. ၎င်းသည်အမျိုးမျိုးသောရှုပ်ထွေးသောမြေပုံဖော်ပြချက်များကိုထိရောက်စွာဆွဲနိုင်ရုံသာမကဂိမ်းမြေပုံစနစ်၏ပြောင်းလွယ်ပြင်လွယ်နှင့်စွမ်းဆောင်ရည်ကိုများစွာတိုးတက်စေသည်။ ၎င်းသည် Real-time မြေပုံအယ်ဒီတာသို့မဟုတ်မြေပုံအရင်းအမြစ်များကိုအလိုအလျောက်ထုတ်ပေးသည့်နောက်ကျော -rest tool တစ်ခုဖြစ်စေ, မြေပုံ အရင်းအမြစ်များကိုအလိုအလျောက်ထုတ်ပေးသည်ဖြစ်စေ,