PHP တွင်ပင်တဂွန်, ဟေ rehealagon သို့မဟုတ်ထိုထက်မကစသည့်ပုံမှန် polygon ကိုဆွဲလိုပါက ** trigonometnic function (အပြစ်နှင့် COS) ကို အသုံးပြု. Imageopenpolygon () function ကိုသုံးနိုင်သည်။
ဤသင်ခန်းစာသည်၎င်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်ရှင်းပြလိမ့်မည်။
ပထမ ဦး စွာသင်၏ PHP ပတ် 0 န်းကျင်တွင် GD ဂရပ်ဖစ်စာကြည့်တိုက်ကိုသေချာအောင်လုပ်ပါ။ GD သည်ပုံများဆွဲရန်အတွက်အခြေခံစာကြည့်တိုက်ဖြစ်သည်။ အကယ်. သင်သည်ပုံမှန် PHP server ကိုအသုံးပြုနေပါကပုံမှန်အားဖြင့်၎င်းကိုပုံမှန်အားဖြင့်ဖွင့်ထားသည်။
trigonometric function တစ်ခုသည်ထောင့်တစ်ခုအားသွဒီနိတ်တစ်ခုသို့ပြောင်းလဲနိုင်သည်။ ကျွန်ုပ်တို့သည်စင်တာအမှတ် (Centerx, Centy Seresenty) ကိုရည်ညွှန်းသည့်အချက်တစ်ချက်ကို အသုံးပြု. အချင်းဝက် အိုက်စ ်ကိုသတ်မှတ်သည်ဆိုပါစို့။
$angle = 2 * pi() * $i / $sides;
အတွက်
$ ငါ လက်ရှိအမှတ်၏အညွှန်းကိန်းဖြစ်ပါတယ် (ဘယ်လောက်အမှတ်ဘယ်နှစ်ယောက်)
$ နှစ်ဖက်သည် နှစ်ဖက်စလုံးဖြစ်သည်။ ဥပမာအားဖြင့်ပင်တဂွန်သည် 5 ဖြစ်သည်
Pi () Pi Rep Pi, 2π သည်အပြည့်အဝစက်ဝိုင်း (360 ဒီဂရီ)
ထို့နောက်အသုံးပြုပါ
$x = $centerX + $radius * cos($angle);
$y = $centerY + $radius * sin($angle);
တစ်ခုချင်းစီကို vertex ၏အနေအထားကိုတွက်ချက်။
ဤတွင်လက်တွေ့ကျသောဥပမာတစ်ခုဖြစ်ပြီးပုံမှန် hexagon (6-sidaget) ကိုဖြစ်ပေါ်စေပြီးပုံပေါ်သို့ဆွဲတင်ခြင်း,
<?php
// ပတ်တူဖန်တီးပါ
$image = imagecreatetruecolor(400, 400);
// အရောင်များကိုသတ်မှတ်ပါ
$background = imagecolorallocate($image, 255, 255, 255); // အဖြူရောင်နောက်ခံ
$polygonColor = imagecolorallocate($image, 0, 0, 255); // အပြာရောင်အနား
// နောက်ခံဖြည့်ပါ
imagefill($image, 0, 0, $background);
// Polygon parameters တွေကို
$sides = 6; // အနားအရေအတွက်
$centerX = 200; // အလယ်ဗဟိုX
$centerY = 200; // အလယ်ဗဟိုY
$radius = 100; // အချင်းဝက်မျဉ်း
// vertex ထုတ်လုပ်ပါ
$points = [];
for ($i = 0; $i < $sides; $i++) {
$angle = 2 * pi() * $i / $sides - pi() / 2; // အထက်သို့စတင်ခြင်း,ဒီတော့နုတ်ပါ90ဒီဂရီ
$x = $centerX + $radius * cos($angle);
$y = $centerY + $radius * sin($angle);
$points[] = $x;
$points[] = $y;
}
// ဖွင့်လှစ် polygons ဆွဲပါ(အလိုအလျောက်ပိတ်လိမ့်မည်မဟုတ်ပါ)
imageopenpolygon($image, $points, $sides, $polygonColor);
// browser မှ output ကိုဓာတ်ပုံများ
header('Content-Type: image/png');
imagepng($image);
// အရင်းအမြစ်များကိုဖျက်ဆီးသည်
imagedestroy($image);
?>
Imageopenpolygon () သည်ပွင့်လင်းသော polygon ဖြစ်ပြီးအစနှင့်အဆုံးမှတ်များသည်အလိုအလျောက်ချိတ်ဆက်ထားခြင်းမဟုတ်ပါ။ သင်ဂရပ်ဖစ်ကိုပိတ်ရန်လိုအပ်ပါက imagePolygon () အစားသုံးပါ။
အဆိုပါညှိနှိုင်းမှုခင်းကျင်းမှုကိုနိုင်ရန်အတွက်စီစဉ်ထားပြီးပုံစံသည် [x0, y0, x1, y1, x1, y1, x, y2, y2,] ။ ]
အဆုံးမှာသယံ ဇာတို ($ ပုံရိပ်) ကို ဖျက်ဆီးရန်မမေ့ပါနှင့်, မဟုတ်ရင်မှတ်ဉာဏ်ယိုစိမ့်လိမ့်မည်။
အကယ်. သင်သည်ဆာဗာသို့ရုပ်ပုံကိုဆာဗာသို့သိမ်းဆည်းလိုပါက https://m66.net/uploads/polygon.png သို့သင်ဤသို့ပြုလုပ်နိုင်သည်။
imagepng($image, '/path/to/uploads/polygon.png');
/ လမ်းကြောင်း / uploads / directory တည်ရှိရန်သတိရပါ။