လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Polygonal ဂရပ်ဖစ်ကို debugging လုပ်ရန်အတွက်ညှိနှိုင်းသည့်အမှတ်အမှတ်အသားများကိုဆွဲပါ

Polygonal ဂရပ်ဖစ်ကို debugging လုပ်ရန်အတွက်ညှိနှိုင်းသည့်အမှတ်အမှတ်အသားများကိုဆွဲပါ

M66 2025-05-29

PHP ကိုအသုံးပြုပြီးရုပ်ပုံများကိုလုပ်ဆောင်သည့်အခါ Impopenpolygon function သည် polygons များကိုဆွဲရန်အသုံးပြုနိုင်သည့်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ရှုပ်ထွေးသော polygonal ဂရပ်ဖစ်များကို debugging လုပ်သည့်အခါလိုင်းများဆွဲခြင်းသည်မလုံလောက်ပါ။ ယခုအချိန်တွင် Vertex ဘေးတွင်သွဒိနိတ်အမှတ်နံပါတ်များသည် Vertex ဘေးတွင်အမှတ်အသားပြုမှုအရေအတွက်သည်မြင်ယောင်ခြင်းနှင့် debugging ၏ထိရောက်မှုကိုများစွာတိုးတက်စေနိုင်သည်။

အောက်ဖော်ပြပါ PHP ကို ​​အသုံးပြု. Dot-Numbered Polygons ကိုအဆင့်ဆင့်ဘယ်လိုမိတ်ဆက်မလဲ။

1 ။ ပြင်ဆင်မှု

ပထမ ဦး စွာသင်၏ PHP ပတ် 0 န်းကျင်သည် GD စာကြည့်တိုက်ပံ့ပိုးမှုများကိုသေချာအောင်ပြုလုပ်ရန်သေချာစေရန်လိုအပ်သည်။ သင်အတည်ပြုနိုင်သည်:

 <?php
if (function_exists('gd_info')) {
    echo "GDစာကြည့်တိုက်ကိုဖွင့်ထားသည်";
} else {
    echo "GDစာကြည့်တိုက်ကိုဖွင့်မထားပါ";
}
?>

မဖွင့်ပါကဖွင့်ပါက Php.ini တွင် Open extension = gd

2 ။ ပတ်တူတစ်ခုကိုဖန်တီးပြီး polygon ကိုဆွဲပါ

Polygons များကိုဆွဲယူသော polygons များကိုဆွဲယူသော code ၏ဥပမာအပြည့်အစုံကိုဖော်ပြထားသည်။

 <?php
// ပတ်တူဖန်တီးပါ
$width = 500;
$height = 500;
$image = imagecreatetruecolor($width, $height);

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

// နောက်ခံဖြည့်ပါ
imagefill($image, 0, 0, $white);

// တစ် polygon ၏အချက်ကိုသတ်မှတ်ပါ(နံပါတ်တောင်မှ,နှစ်ခုတိုင်းသည်အုပ်စုတစ်စုဖြစ်ကြသည်x, y)
$points = [
    100, 100,
    200, 80,
    300, 150,
    250, 300,
    150, 250
];

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

// အချက်တစ်ခုစီဘေးတွင်အမှတ်အသားကိုသတိပြုပါ
for ($i = 0; $i < count($points); $i += 2) {
    $x = $points[$i];
    $y = $points[$i + 1];
    $label = 'P' . ($i / 2);
    
    // စာသားကိုမှတ်သားပါ
    imagestring($image, 3, $x + 5, $y + 5, $label, $red);
    
    // ကိုသွဒီနိတ်များကိုကိုယ်စားပြုရန်အစက်အပြောက်များကိုရေးဆွဲနိုင်သည်
    imagefilledellipse($image, $x, $y, 6, 6, $red);
}

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

// ဖိုင်ကိုသိမ်းဆည်းပါ
// imagepng($image, '/path/to/save/mypolygon.png');

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

3 ။ ရလဒ်ခွဲခြမ်းစိတ်ဖြာခြင်း

ဒီကုဒ်က

  • 500 × 500 အဖြူရောင်နောက်ခံပုံပတ်တူကိုဖန်တီးပါ

  • Imageopenpolygon ကို သုံး. uneclosed polygon ကိုဆွဲပါ

  • Vertex တစ်ခုချင်းစီတွင်အနီရောင်အစက်ငယ်တစ်ခုဆွဲပါ

  • P0, P1, P2 ကဲ့သို့သောအနီရောင်အစက်ငယ်များဘေးရှိအစက်အရေအတွက်ကိုမှတ်သားပါ။

အကယ်. သင်သည်ပုံကို output အစားတိုက်ရိုက်သိမ်းဆည်းရန်လိုပါက employpng ($ Image '/ Path/PoTto/Save/save/mypolygon.png') လိုင်းကိုသင်မထိန်းချုပ်နိုင်ပါ။ ); နှင့်လိုအပ်သောအဖြစ်ကယ်တင်ရန်လမ်းကြောင်းကိုပြုပြင်မွမ်းမံ။

ဥပမာအားဖြင့်, သင်သည်လမ်းကြောင်းကိုပြောင်းလဲနိုင်သည် -

 imagepng($image, 'https://m66.net/uploads/mypolygon.png');

(မှတ်ချက် - တကယ်တော့ ImagePng ကို ဆာဗာ၏ဒေသန္တရလမ်းကြောင်းသို့သာသိမ်းဆည်းနိုင်သည်။ သင် URL မှတစ်ဆင့် 0 င်ရောက်လိုပါကဖိုင်ကိုသက်ဆိုင်ရာဆာဗာလမ်းညွှန်တွင်ထည့်ရမည်။ )

4 ။ လက်တွေ့ကျသော application အခြေအနေများ

ဤနည်းသည်အကောင်းဆုံးဖြစ်သည်။

  • Polygon area ရိယာဌာနခွဲဖွံ့ဖြိုးတိုးတက်မှုနှင့် debug

  • မြေပုံစနစ်ရှိ Polygonal areas ရိယာများကိုမှတ်သားပါ

  • ဒေတာများကိုမြင်ယောင်သည့်အခါကွဲပြားခြားနားသော vertices ၏ရာထူးနှိုင်းယှဉ်

  • ဂရပ်ဖစ် algorithm သင်ကြားရေးသရုပ်ပြ

Polygon ရှိအမှတ်တစ်ခုစီအတွက်နံပါတ်များကိုပေါင်းထည့်ခြင်းအားဖြင့်အစီအစဉ်တစ်ခုစီ၏အစီအစဉ်အမှာစာနှင့်ယုတ္တိရှိသည့်ဆက်ဆံရေးကိုအလိုအလျောက်မြင်တွေ့နိုင်သည်။

အကျဉ်းချုပ်

Imageopenpolygonon , iceptring နှင့် imagrectredelipse ကို ပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် Polygon imageformseipse ကိုပေါင်းစပ်။ POSP တွင်ညှိနှိုင်းသည့်နံပါတ်များကိုအလွယ်တကူဆွဲနိုင်သည်။ ၎င်းသည်ဂရပ်ဖစ်များ၏ဖတ်နိုင်မှုကိုတိုးတက်အောင်သာမကဘဲနောက်ဆက်တွဲယုတ္တိဗေဒလုပ်ငန်းစဉ်နှင့်အမှားအယွင်းများပြ troubl နာဖြေရှင်းခြင်းကိုလည်းလွယ်ကူချောမွေ့စေသည်။