PHP ၏ GD စာကြည့်တိုက်ကို Imageopenpolygon () ကိုအသုံးပြုသောအခါ ImpropenPolygon () သည် အတော်လေးရှားပါးသော်လည်းအသုံးဝင်သောလုပ်ဆောင်မှုဖြစ်သည်။ သို့သော်ရှုပ်ထွေးသောပုံရိပ်ထုတ်ယူခြင်းတွင်ကျွန်ုပ်တို့သည်ဤပုံဆွဲခြင်းလုပ်ငန်းစဉ်သည်အောင်မြင်မှုရှိမရှိကိုအတည်ပြုရန်လိုအပ်သည်။ ထိုးထွင်းသိမြင်မှုနှင့်ထိရောက်သောနည်းလမ်းသည်ပုံဆွဲပြီးစီးခြင်းရှိမရှိကိုဆုံးဖြတ်ရန်ဖြစ်သည်။
ဤဆောင်းပါးသည် Imageopenpolygon မှရရှိသောရလဒ်များကိုရှာဖွေတွေ့ရှိရန်အရောင်အသွေးစုံစမ်းနည်းကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်မိတ်ဆက်ပေးပါလိမ့်မည်။
Imageopenpolygon () function ကို၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
bool imageopenpolygon(
GdImage $image,
array $points,
int $num_points,
int $color
)
$ Image : ImageCreatetRuecolor () သို့မဟုတ်အလားတူလုပ်ဆောင်ချက်မှဖန်တီးထားသောပုံရိပ်အရင်းအမြစ်။
$ ရမှတ်များ - format နဲ့ format နဲ့ format နဲ့ format နဲ့ format နဲ့ vertices ပါဝင်တဲ့ခင်းကျင်းခြင်း [x0, y0, x1, x, y2) ။
$ numpoints : ဒေါင်လိုက်အရေအတွက်။
$ အရောင် - Polygon လိုင်းများဆွဲရန်အသုံးပြုသောအရောင်အမှတ်အသား။
များသောအားဖြင့် Imageopenpolygon () သည် အောင်မြင်သောပုံဆွဲခြင်းကိုညွှန်ပြရန် မှန်ကန် သည်။
ပုံသယံဇာတအရင်းအမြစ်ကိုဖျက်ဆီး ပစ် လိုက်ပြီ,
သတ်မှတ်ထားသောအရောင်သည်ပုံ၏နောက်ခံတွင်မမြင်နိုင်ပါ။
ထို့ကြောင့် ရုပ်ပုံပေါ်ရှိသတ်သတ်မှတ်မှတ်အနေအထားများ၌အရောင်အသွေးစုံခြင်းများကို တိုက်ရိုက်ရှာဖွေခြင်းသည်ပုံဆွဲခြင်းအကျိုးသက်ရောက်မှုကိုပိုမိုအလိုလိုသိနိုင်သည်။
ပထမ ဦး စွာနောက်ခံဖြင့်ပုံတစ်ပုံကိုဖန်တီးပါ။
<?php
// အလွတ်တစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(200, 200);
// အဖြူနောက်ခံခွဲဝေချထားဝံ့
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
?>
Polygon ၏အချက်များနှင့်အရောင်များကိုသတ်မှတ်ပါ။
<?php
// polygon ၏ vertices ကိုသတ်မှတ်ပါ
$points = [
50, 50,
150, 50,
100, 150
];
// ပုံဆွဲဘို့အနီရောင် assign
$red = imagecolorallocate($image, 255, 0, 0);
?>
ပုံမချမီကျွန်ုပ်တို့သည်လက်ရှိအရောင်ကိုရေးဆွဲရန်မျှော်လင့်ထားသည့်မျဉ်းကြောင်းအပိုင်းပေါ်တွင်အချက်တစ်ချက်ကိုရွေးချယ်သည်။
<?php
// polygon line မှအနီးကပ်အချက်ရွေးချယ်ပါ
$x = 100;
$y = 50;
// ပုံဆွဲမီအရောင်ကိုမှတ်တမ်းတင်ပါ
$beforeColor = imagecolorat($image, $x, $y);
?>
<?php
// ဖွင့်လှစ် polygons ဆွဲပါ
$result = imageopenpolygon($image, $points, 3, $red);
?>
<?php
// ပုံဆွဲပြီးနောက်အရောင်မှတ်တမ်းတင်ပါ
$afterColor = imagecolorat($image, $x, $y);
// အရောင်အပြောင်းအလဲရှိမရှိစစ်ဆေးပါ
if ($beforeColor !== $afterColor && $result) {
echo "အောင်မြင်စွာဆွဲပါ,အရောင်အသွေးစုံလာသည်。";
} else {
echo "ပုံဆွဲခြင်းသို့မဟုတ်အရောင်မပြောင်းလဲပါ。";
}
?>
$ beforecolor နှင့် $ butcolor ကို နှိုင်းယှဉ်ခြင်းအားဖြင့်ပုံဆွဲစစ်ဆင်ရေးသည်ပုံတွင်အမှန်တကယ်ထိရောက်မှုရှိ, မရှိကိုယုံကြည်စိတ်ချစွာဆုံးဖြတ်နိုင်သည်။
<?php
// output ကိုပုံ
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
သင်ပုံကိုသိမ်းလိုပါက၎င်းကိုသင်၏ local or server သို့သိမ်းဆည်းနိုင်သည်။ ဥပမာအားဖြင့်၎င်းကို https://m66.net/uploads/test.png သို့သိမ်းဆည်းရန်အောက်ပါနည်းလမ်းကို အသုံးပြု. သိမ်းဆည်းနိုင်သည်။
<?php
// ဆာဗာသို့ပုံကိုသိမ်းဆည်းပါ
imagepng($image, '/var/www/m66.net/uploads/test.png');
imagedestroy($image);
?>
ပုံဆွဲခြင်းမပြုမီနှင့်အပြီးရွေးချယ်ထားသောစစ်ဆေးမှုအချက်များမှာ တုန့်ပြန်ခြင်းသို့မဟုတ်အလွန်နီးကပ်စွာဖြစ်ရမည် ။
Imageopenpolygon () သည်လမ်းကြောင်းကိုအလိုအလျောက်မပိတ်ပါ။ အကယ်. ပိတ်ခြင်းအကျိုးသက်ရောက်မှုတစ်ခုလိုအပ်ပါကအဆုံးမှတ်အဖြစ်အစအမှတ်ကိုလက်ဖြင့်ထည့်ပါ။
image နောက်ခံသည်မျဉ်း၏အရောင်နှင့်ဆင်တူသည့်အခါ Misjudgment မှရှောင်ရှားရန်စမ်းသပ်မှုများကိုသင်ဂရုတစိုက်ရွေးချယ်သင့်သည်။
အရောင်အသွေးစုံစမ်းခြင်းအားဖြင့် Impenopenpolygon () ကို အောင်မြင်စွာကွပ်မျက်ခံရခြင်းရှိမရှိကိုအတည်ပြုရုံသာမကပုံဆွဲအနေအထားနှင့်အရောင်မှန်ကန်မှုကိုသွယ်ဝိုက်အတည်ပြုရန်လည်းအတည်မပြုနိုင်ပါ။ ဤနည်းလမ်းသည်ရှုပ်ထွေးသောပုံရိပ်မျိုးထုတ်လုပ်မှုသို့မဟုတ်အချည်းနှီးသောမျက်စိစစ်ဆေးခြင်းကြောင့်ဖြစ်ပေါ်နိုင်သည့်စွမ်းရည်နိမ့်ကျခြင်းကိုရှောင်ရှားရန်အလိုအလျောက်စိစစ်အတည်ပြုခြင်းသို့မဟုတ်အသုတ်လုပ်ခြင်းအခြေအနေများအတွက်သင့်တော်သည်။
PHPG GD စာကြည့်တိုက်တွင်ပုံဆွဲခြင်းနှင့်ထောက်လှမ်းခြင်းစွမ်းရည်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။