လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Imageopenpolygon () ပုံဆွဲခြင်းလုပ်ငန်းစဉ်ကိုအကောင်အထည်ဖော်ခြင်းရှိမရှိဆုံးဖြတ်ရန်အရောင်အသွေးစုံစုံကိုသုံးပါ

Imageopenpolygon () ပုံဆွဲခြင်းလုပ်ငန်းစဉ်ကိုအကောင်အထည်ဖော်ခြင်းရှိမရှိဆုံးဖြတ်ရန်အရောင်အသွေးစုံစုံကိုသုံးပါ

M66 2025-05-17

PHP ၏ GD စာကြည့်တိုက်ကို Imageopenpolygon () ကိုအသုံးပြုသောအခါ ImpropenPolygon () သည် အတော်လေးရှားပါးသော်လည်းအသုံးဝင်သောလုပ်ဆောင်မှုဖြစ်သည်။ သို့သော်ရှုပ်ထွေးသောပုံရိပ်ထုတ်ယူခြင်းတွင်ကျွန်ုပ်တို့သည်ဤပုံဆွဲခြင်းလုပ်ငန်းစဉ်သည်အောင်မြင်မှုရှိမရှိကိုအတည်ပြုရန်လိုအပ်သည်။ ထိုးထွင်းသိမြင်မှုနှင့်ထိရောက်သောနည်းလမ်းသည်ပုံဆွဲပြီးစီးခြင်းရှိမရှိကိုဆုံးဖြတ်ရန်ဖြစ်သည်။

ဤဆောင်းပါးသည် Imageopenpolygon မှရရှိသောရလဒ်များကိုရှာဖွေတွေ့ရှိရန်အရောင်အသွေးစုံစမ်းနည်းကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်မိတ်ဆက်ပေးပါလိမ့်မည်။

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 () သည် အောင်မြင်သောပုံဆွဲခြင်းကိုညွှန်ပြရန် မှန်ကန် သည်။

  • ပုံသယံဇာတအရင်းအမြစ်ကိုဖျက်ဆီး ပစ် လိုက်ပြီ,

  • သတ်မှတ်ထားသောအရောင်သည်ပုံ၏နောက်ခံတွင်မမြင်နိုင်ပါ။

ထို့ကြောင့် ရုပ်ပုံပေါ်ရှိသတ်သတ်မှတ်မှတ်အနေအထားများ၌အရောင်အသွေးစုံခြင်းများကို တိုက်ရိုက်ရှာဖွေခြင်းသည်ပုံဆွဲခြင်းအကျိုးသက်ရောက်မှုကိုပိုမိုအလိုလိုသိနိုင်သည်။

စမ်းသပ်မှုလုပ်ငန်းစဉ်ဥပမာ

အဆင့် 1 - အခြေခံပုံရိပ်တစ်ခုဖန်တီးပြီးနောက်ခံကိုဖြည့်ပါ

ပထမ ဦး စွာနောက်ခံဖြင့်ပုံတစ်ပုံကိုဖန်တီးပါ။

 <?php
// အလွတ်တစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(200, 200);

// အဖြူနောက်ခံခွဲဝေချထားဝံ့
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
?>

အဆင့် 2 - parameters တွေကိုဆွဲရန်ပြင်ဆင်ပါ

Polygon ၏အချက်များနှင့်အရောင်များကိုသတ်မှတ်ပါ။

 <?php
// polygon ၏ vertices ကိုသတ်မှတ်ပါ
$points = [
    50,  50,
    150, 50,
    100, 150
];

// ပုံဆွဲဘို့အနီရောင် assign
$red = imagecolorallocate($image, 255, 0, 0);
?>

အဆင့် 3: အရောင်မတင်မီအရောင်ကိုမှတ်တမ်းတင်ပါ

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

 <?php
// polygon line မှအနီးကပ်အချက်ရွေးချယ်ပါ
$x = 100;
$y = 50;

// ပုံဆွဲမီအရောင်ကိုမှတ်တမ်းတင်ပါ
$beforeColor = imagecolorat($image, $x, $y);
?>

အဆင့် 4 - Polygon ကိုဆွဲရန် Imageopenpolygon () ကို ခေါ်ပါ

 <?php
// ဖွင့်လှစ် polygons ဆွဲပါ
$result = imageopenpolygon($image, $points, 3, $red);
?>

အဆင့် 5 - ပုံ၏အရောင်ကိုပုံဆွဲပြီးနှိုင်းယှဉ်ကြည့်ပါ

 <?php
// ပုံဆွဲပြီးနောက်အရောင်မှတ်တမ်းတင်ပါ
$afterColor = imagecolorat($image, $x, $y);

// အရောင်အပြောင်းအလဲရှိမရှိစစ်ဆေးပါ
if ($beforeColor !== $afterColor && $result) {
    echo "အောင်မြင်စွာဆွဲပါ,အရောင်အသွေးစုံလာသည်。";
} else {
    echo "ပုံဆွဲခြင်းသို့မဟုတ်အရောင်မပြောင်းလဲပါ。";
}
?>

$ beforecolor နှင့် $ butcolor ကို နှိုင်းယှဉ်ခြင်းအားဖြင့်ပုံဆွဲစစ်ဆင်ရေးသည်ပုံတွင်အမှန်တကယ်ထိရောက်မှုရှိ, မရှိကိုယုံကြည်စိတ်ချစွာဆုံးဖြတ်နိုင်သည်။

အဆင့် 6 (optional): ရလဒ်များကိုကြည့်ရှုရန် output ကိုပုံရိပ်

 <?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 စာကြည့်တိုက်တွင်ပုံဆွဲခြင်းနှင့်ထောက်လှမ်းခြင်းစွမ်းရည်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။