PHP ၏ Impopenpolygon () function ကို အသုံးပြု. ပွင့ ် လင်းသော polygons များကိုဆွဲယူသောအခါ, ၎င်းသည်များသောအားဖြင့် parameter သည်အမှားများ, ပုံသယံအရင်းအမြစ်ပြ problems နာများသို့မဟုတ်ခေါ်ဆိုမှုနည်းလမ်းဖြင့်ပြ problem နာကိုဆိုလိုသည်။ ဤဆောင်းပါးသည်ဘုံအမှားများမှ စ. ပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်နှင့်ဖြေရှင်းရန်ဖြစ်နိုင်သောအကြောင်းရင်းများနှင့်ဖြေရှင်းနည်းများကိုတဖြည်းဖြည်းခွဲခြမ်းစိတ်ဖြာပါလိမ့်မည်။
Imageopenpolygon () သည် GD ဂရပ်ဖစ်ပြုပြင်ခြင်းစာကြည့်တိုက်၏အစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ အကယ်. GD စာကြည့်တိုက်ကိုဆာဗာပတ် 0 န်းကျင်တွင်မှန်ကန်စွာတပ်ဆင်မထားပါကမည်သည့် GD function ကိုမဆိုခေါ်ဆိုပါလိမ့်မည်။ ၎င်းကိုအောက်ပါကုဒ်များဖြင့်ရှာဖွေတွေ့ရှိနိုင်သည်။
<?php
if (function_exists('imageopenpolygon')) {
echo "GD စာကြည့်တိုက်ကို install လုပ်ထားသည်,နှင့်ပံ့ပိုးမှု imageopenpolygon() လုပ်ဆောင်ချက်。";
} else {
echo "GD စာကြည့်တိုက်ကို install လုပ်ထားခြင်းမရှိပါ imageopenpolygon() လုပ်ဆောင်ချက်,ကျေးဇူးပြု။ ကျသင့်ငွေတွက်ပေးပါ PHP ကွက်ကွက်ကေျာင်း。";
}
?>
အကယ်. prompt ကို install လုပ်မထားပါကဆာဗာပေါ်ရှိ GD module ကို install လုပ်ရန်လိုအပ်သည်။
sudo apt install php-gd
တပ်ဆင်မှုပြီးဆုံးပြီးနောက်ဆာဗာကိုပြန်လည်စတင်ရန်သတိရပါ။
Imageopenpolygon () ၏ပထမဆုံး parameter သည်မှန်ကန်သောပုံရိပ်အရင်းအမြစ်ဖြစ်ရမည်။ ဤတွင်ပုံရိပ်အရင်းအမြစ်တစ်ခုဖန်တီးခြင်း၏စံနမူနာကောင်းတစ်ခုဖြစ်သည်:
<?php
$image = imagecreatetruecolor(400, 300);
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
?>
IFF $ Image သည် Imagecreatetuecolorcolor () , imagecreatjpeg () , isionecreatjpeg ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုမှန်ကန်စွာထုတ်ပေးသည် ။
Imageopenpolygon () ၏ဒုတိယ pareter သည် (x1, y1, x2, y2, y2, y2, y2, y3 , အကယ်. Array မမှန်ကန်ပါကလုပ်ဆောင်ချက်သည်လည်းပျက်ကွက်လိမ့်မည်။
Errorght Page (Two ရှုထောင့်နှစ်ခု array):
$points = [
[10, 10],
[100, 50],
[50, 150]
];
imageopenpolygon($image, $points, 3, $color); // အရေးအသားမှား
မှန်ကန်သောဥပမာ (တစ်ရှုထောင်ခင်းကျင်း):
$points = [10, 10, 100, 50, 50, 150];
imageopenpolygon($image, $points, 3, $color);
array elements အရေအတွက်ကိုကိုယ်စားပြုသောဒေါင်အညွှန်း အရေအတွက်ကိုကိုယ်စားပြုသောတတိယ parameter ကိုအထူးဂရုပြုပါ။ ဒေါင်လိုက်အရေအတွက် (ရေတွက် ($ မှတ်) / 2) ဖြစ်သင့်သည်။
Polygons ဆွဲသည့်အခါသင်သည် အရောင်များကိုဖော်ပြသောအရောင်အညွှန်းကိုသတ်မှတ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်:
$color = imagecolorallocate($image, 0, 0, 0); // မဲသော
အကယ်. သင်သည်မကပါသည့်အရောင်တန်ဖိုးကိုတိုက်ရိုက်ကူးယူပါက၎င်းသည်ပုံဆွဲခြင်းကိုကျရှုံးစေလိမ့်မည်။
အထက်ပါကြိုတင်ကာကွယ်မှုများအပေါ် အခြေခံ. , ဤတွင်ပြည့်စုံပြီးလုပ်ငန်းလည်ပတ်မှုဥပမာဖြစ်သည်။
<?php
// အလွတ်တစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(400, 300);
// အရောင်များကိုသတ်မှတ်ပါ
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
// နောက်ခံဖြည့်ပါ
imagefill($image, 0, 0, $white);
// Vertices ကိုသတ်မှတ်ပါ
$points = [50, 50, 150, 50, 100, 150];
// ဖွင့်လှစ် polygons ဆွဲပါ
if (imageopenpolygon($image, $points, 3, $black)) {
echo "အောင်မြင်စွာဆွဲပါ!";
} else {
echo "ပုံဆွဲမအောင်မြင်ပါ,ကျေးဇူးပြု။ ကျသင့်ငွေတွက်ပေးပါ参数!";
}
// browser မှ output ကိုပုံရိပ်
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
အကယ်. သင်သည်အမှန်တကယ်အကျိုးသက်ရောက်မှုကိုမြင်လိုပါကအထက်ပါကုဒ်ကို draw_polygon.php ကို Save လုပ်နိုင်သည်။ ထို့နောက်သင်၏ဆာဗာကိုကြည့်ပါ။
https://m66.net/draw_polygon.php
PHP ဗားရှင်းအထောက်အပံ့များ (PHP 7.2+ ရှိ GD extension) ကို သေချာစေရန်သေချာပါစေ။
ပုံရိပ် output မတိုင်မီမှန်ကန်သော အကြောင်းအရာအမျိုးအစား ခေါင်းစဉ်ကိုသတ်မှတ်ရန်သေချာပါစေ။
Image အရင်းအမြစ်များကိုအသုံးပြုပြီးသည့်နောက်, Imagedestroy () ကို အမှတ်အသားပြုရန် () ကိုသုံးရန်သတိရပါ။
Imageopenpolygon () အယူမှားလာသောအခါ မှားယွင်းစွာ ပြန်ဆိုသည့်အခါများသောအားဖြင့်၎င်းကို parameter သည်အမှားအယွင်းများ သို့မဟုတ် ရုပ်ပုံအရင်းအမြစ်ပြ problems နာများ ကြောင့်ဖြစ်သည်။ အထက်ပါစစ်ဆေးရေးခြေလှမ်းများကိုတစ် ဦး ချင်းစီပြီးနောက်ပြ problems နာများ၏ 99% နီးပါးကိုဖြေရှင်းနိုင်သည်။