PHP ၏ GD စာကြည့်တိုက်ကို Imageopenpolygon () သည် polygons များကိုဆွဲဆောင်ရန်အသုံးပြုလေ့ရှိသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ သို့သော်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် developer များစွာသည်ဤလုပ်ဆောင်မှုကို အသုံးပြု. polygons ၏ရာထူးများကိုအမြဲတမ်းလွဲမှားခြင်း, ဤဆောင်းပါးသည်ဤပြ problem နာကိုနက်နက်နဲငယ်အလိုက်ခွဲခြမ်းစိတ်ဖြာလိမ့်မည်, ဤအခြေအနေသည်အဘယ်ကြောင့်ဖြစ်ပေါ်ရသည့်အကြောင်းရင်းများကိုလူတိုင်းနားလည်ပြီးသာမန်အမှားများအတွက်ဖြေရှင်းနည်းများကိုကူညီလိမ့်မည်။
PHP တွင် Imageopenpolygon () function ကို အသုံးပြု. ပုံတစ်တွဲအပေါ်သွဒီနဂံအချက်များဖြင့်သတ်မှတ်ထားသော polygon တစ်ခုကိုဆွဲရန်အသုံးပြုသည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
imageopenpolygon(resource $image, array $points, int $num_points)
$ Image : များသောအားဖြင့် imagecreate () သို့မဟုတ် imagecreatjpeg ကဲ့သို့သောလုပ်ဆောင်မှုများအားဖြင့်ဖန်တီးထားသော image image အရင်းအမြစ်တစ်ခု။
$ ရမှတ်များ - Polygon vertexes ၏သွဒီနိတ်များပါ 0 င်သည့်ခင်းကျင်းမှု။ နံပါတ်နှစ်ခုစီသည် X နှင့် Y ကိုသွဒီနင်များကိုကိုယ်စားပြုသည်။
$ num_points : Polygon Vertices ၏နံပါတ်။
ရိုးရှင်းတဲ့ဥပမာတစ်ခုပေးပါက:
<?php
// ပုံရိပ်တစ်ခုဖန်တီးပါ
$image = imagecreate(200, 200);
$color = imagecolorallocate($image, 255, 0, 0); // နီသော
// polygon ၏ vertices ကိုသတ်မှတ်ပါ
$points = [
50, 50,
150, 50,
150, 150,
50, 150
];
// Polygons ဆွဲပါ
imageopenpolygon($image, $points, count($points)/2);
// output ကိုပုံ
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
ဤကုဒ်သည်ပုံပေါ်၌အနီရောင်စတုဂံပုံဆွဲသည်။
developer များစွာသည် Imageopenpolygon () function ကိုအသုံးပြုသောအခါ, မျှော်လင့်ထားသည့်အတိုင်းပုံဆွဲသည့် polygon သည်ပုံ၏မှန်ကန်သောအနေအထားတွင်မပေါ်လာကြောင်းတွေ့ရှိရသည်။ အကြောင်းပြချက်မကြာခဏသွဒီနိတ်များ၏တွက်ချက်မှုနှင့်လွှဲပြောင်းပါဝငျပါဝငျသညျ။ ဤတွင်အမှားအယွင်းများ၏အကြောင်းရင်းအချို့ကိုဤတွင်ဖော်ပြထားသည်။
PHP ၏ GD စာကြည့်တိုက်ရှိသွ ဒီ နိတ်စနစ်သည်ဘယ်ဘက်အပေါ်ထောင့် (0.0) ဖြစ်သည်။ အကယ်. သင်သည်ဤသွဒီနနိစနစ်နှင့်အညီအချက်၏အခွင့်အလမ်းကိုမသတ်မှတ်ပါကအနားကိုလွမ်းဆွတ်စေလိမ့်မည်။
ဥပမာအားဖြင့်, အကယ်. သင်သည် screen ၏အလယ်ဗဟိုနှင့်ညှိနှိုင်းမှုစနစ်တွင်အသုံးပြုပါက, သင်သွဒီနိတ်များကိုမမှန်မကန်ပြုလုပ်နိုင်သည်။
Imageopenpolygon () function သည် x နှင့် y ကိုသွဒီနင်များကိုပြောင်းလဲရန်အတွက်ခင်းကျင်းမှုတစ်ခုပြုလုပ်သည်။ Array မှအမိန့်သည်မမှန်ကန်ပါကသို့မဟုတ်ဒေါင်လိုက်အရေအတွက်မမှန်ကန်ပါကလုပ်ဆောင်ချက်သည်ညှိနှိုင်းမှုများကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာနိုင်လိမ့်မည်မဟုတ်ပါ,
ဥပမာအားဖြင့်,
$points = [50, 50, 150, 150, 100, 100]; // အမှား
The GD library interprets these coordinates as two points (50, 50) and (150, 150) instead of the four vertices of a polygon. ဤပြ problem နာကိုရှောင်ရှားရန်သင်မှန်ကန်သောပုံစံဖြင့်ညှိနှိုင်းမှုခင်းကျင်းနေရန်နှင့်အချက်များအရေအတွက်ပင်ဖြစ်သည်။
တစ်ခါတစ်ရံပုံ၏အရွယ်အစားသည်သေးငယ်လွန်းပြီး, ပုံတစ်ပုံကိုဖန်တီးတဲ့အခါ, သင်ဆွဲချင်တဲ့အနားတွေနဲ့လိုက်လျောညီထွေဖြစ်အောင်ပုံရိပ်တွေလုံလောက်အောင်သေချာအောင်လုပ်ပါ။
ဥပမာအားဖြင့်, သင်၏ Polygon သည် Vertex ကိုသွဒက် (1000, 1000) နှင့်ပုံသည် 200x200 သာဖြစ်ပါက, အနားတွင်ပါ 0 င်သည့် contents အချို့ကိုလွဲမှားစွာပြုလုပ်နိုင်သည်။
သွဒီနိတ်များကိုသတ်မှတ်ခြင်းပြုလုပ်ပါကမှန်ကန်သောသွဒီနိတ်စနစ်ကိုလိုက်နာပါ။ ၎င်းသည်ဘယ်ဘက်အပေါ်ထောင့်သည်မူလအစဖြစ်သည့်အတွက် x တန်ဖိုးကိုတိုးချဲ့ခြင်းကိုဆိုလိုသည် ။ အကယ်. သင်မသေချာပါကသွဒီနိတ်များကိုပုံနှိပ်ခြင်းဖြင့်သူတို့၏မှန်ကန်မှုကိုစစ်ဆေးရန်အကောင်းဆုံးဖြစ်သည်။
အဆိုပါညှိနှိုင်းမှုခင်းကျင်းမှုသည် Imageopenpolygon () သို့ရောက်ရှိသည်ကိုသေချာအောင်လုပ်ပါ () သည်မှန်ကန်သောပုံစံဖြင့်ဖြစ်သည်, X နှင့် Y ကိုသွဒီနင်များသည်အခြားနည်းလမ်းများနှင့်ဒေါင်လိုက်များပင်ဖြစ်သည်။ ဥပမာအားဖြင့်:
$points = [50, 50, 150, 50, 150, 150, 50, 150];
imageopenpolygon($image, $points, count($points)/2);
Polygon Vertices များအားလုံးကိုလိုက်လျောညီထွေရှိရန်ပုံသည်လုံလောက်မှုမရှိကြောင်းသေချာပါစေ။ သင်မသေချာပါကသင်ပိုမိုကြီးမားသောပုံရိပ်အရွယ်အစားကိုသတ်မှတ်ပြီးအနားတွင် polygon ၏အနေအထားကိုချိန်ညှိနိုင်သည်။
ပိုလန်၏အနေအထားသည်မျှော်လင့်ချက်များမှသိသိသာသာပြတ်တောက်သွားပါကသင်၏မျှော်လင့်ချက်များနှင့်ကိုက်ညီစေရန်သေချာစေရန်ကိုသွဒီနိတ်များကိုပုံနှိပ်နိုင်သည်။
echo "x: {$points[$i]}, y: {$points[$i+1]}\n";
သင်၏ polygon ဂရပ်မှားသည်ဆိုပါက (ဥပမာအား ဖြင့် အနားမချိတ်ဆက်ပါက,
အကယ်. ပုံကိုလုံးဝမပြပါကသို့မဟုတ်သီးနှံများကိုမဖွင့်ပါကပုံရိပ်အရွယ်အစားကိုပုံဆွဲရန်လုံလောက်မှုရှိရန်လုံလောက်မှုရှိစေရန်သေချာအောင်လုပ်ပါ။
Imageopenpolygon () function တွင်အသုံးများသောအမှားများကိုနားလည်သဘောပေါက်ခြင်းနှင့်ကိုင်တွယ်ခြင်းအားဖြင့် Polygon ၏ dislocation ပြ problem နာကိုကျွန်ုပ်တို့ရှောင်ရှားနိုင်သည်။ အသုံးအများဆုံးအမှားများသည်ယေဘူယျအားဖြင့်သွဒီနိတ်စနစ်တွင်နားလည်မှုလွဲခြင်းများ, မှန်ကန်သောသွဒီနိတ်ချိန်ညှိချက်များအတိုင်းမှန်ကန်သော array format နှင့်ကျိုးကြောင်းဆီလျော်ပုံရိပ်အရွယ်အစားသည်အနားများကိုမှန်ကန်စွာရေးဆွဲရန်သေချာစေလိမ့်မည်။