လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Imageopenpolygon () ကိုအသုံးပြုရန်ပုံမှန် polygon ကိုသွဒီနဂါးကိုပိုမိုထုတ်လုပ်ရန် trigonometric လုပ်ငန်းဆောင်တာများကိုသုံးပါ

Imageopenpolygon () ကိုအသုံးပြုရန်ပုံမှန် polygon ကိုသွဒီနဂါးကိုပိုမိုထုတ်လုပ်ရန် trigonometric လုပ်ငန်းဆောင်တာများကိုသုံးပါ

M66 2025-05-29

PHP တွင်ပင်တဂွန်, ဟေ rehealagon သို့မဟုတ်ထိုထက်မကစသည့်ပုံမှန် polygon ကိုဆွဲလိုပါက ** trigonometnic function (အပြစ်နှင့် COS) ကို အသုံးပြု. Imageopenpolygon () function ကိုသုံးနိုင်သည်။

ဤသင်ခန်းစာသည်၎င်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်ရှင်းပြလိမ့်မည်။

1 ။ ပြင်ဆင်မှု

ပထမ ဦး စွာသင်၏ PHP ပတ် 0 န်းကျင်တွင် GD ဂရပ်ဖစ်စာကြည့်တိုက်ကိုသေချာအောင်လုပ်ပါ။ GD သည်ပုံများဆွဲရန်အတွက်အခြေခံစာကြည့်တိုက်ဖြစ်သည်။ အကယ်. သင်သည်ပုံမှန် PHP server ကိုအသုံးပြုနေပါကပုံမှန်အားဖြင့်၎င်းကိုပုံမှန်အားဖြင့်ဖွင့်ထားသည်။

2 ။ trigonometric functions များသည် vertices ကိုပိုမိုထုတ်ပေးသည်ကိုနားလည်သည်

trigonometric function တစ်ခုသည်ထောင့်တစ်ခုအားသွဒီနိတ်တစ်ခုသို့ပြောင်းလဲနိုင်သည်။ ကျွန်ုပ်တို့သည်စင်တာအမှတ် (Centerx, Centy Seresenty) ကိုရည်ညွှန်းသည့်အချက်တစ်ချက်ကို အသုံးပြု. အချင်းဝက် အိုက်စ ်ကိုသတ်မှတ်သည်ဆိုပါစို့။

 $angle = 2 * pi() * $i / $sides;

အတွက်

  • $ ငါ လက်ရှိအမှတ်၏အညွှန်းကိန်းဖြစ်ပါတယ် (ဘယ်လောက်အမှတ်ဘယ်နှစ်ယောက်)

  • $ နှစ်ဖက်သည် နှစ်ဖက်စလုံးဖြစ်သည်။ ဥပမာအားဖြင့်ပင်တဂွန်သည် 5 ဖြစ်သည်

  • Pi () Pi Rep Pi, သည်အပြည့်အဝစက်ဝိုင်း (360 ဒီဂရီ)

ထို့နောက်အသုံးပြုပါ

 $x = $centerX + $radius * cos($angle);
$y = $centerY + $radius * sin($angle);

တစ်ခုချင်းစီကို vertex ၏အနေအထားကိုတွက်ချက်။

3 ။ PHP နမူနာကုဒ်ကိုဖြည့်ပါ

ဤတွင်လက်တွေ့ကျသောဥပမာတစ်ခုဖြစ်ပြီးပုံမှန် 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);
?>

4 ။ မှတ်စုများ

  • Imageopenpolygon () သည်ပွင့်လင်းသော polygon ဖြစ်ပြီးအစနှင့်အဆုံးမှတ်များသည်အလိုအလျောက်ချိတ်ဆက်ထားခြင်းမဟုတ်ပါ။ သင်ဂရပ်ဖစ်ကိုပိတ်ရန်လိုအပ်ပါက imagePolygon () အစားသုံးပါ။

  • အဆိုပါညှိနှိုင်းမှုခင်းကျင်းမှုကိုနိုင်ရန်အတွက်စီစဉ်ထားပြီးပုံစံသည် [x0, y0, x1, y1, x1, y1, x, y2, y2,] ။ ]

  • အဆုံးမှာသယံ ဇာတို ($ ပုံရိပ်) ကို ဖျက်ဆီးရန်မမေ့ပါနှင့်, မဟုတ်ရင်မှတ်ဉာဏ်ယိုစိမ့်လိမ့်မည်။

5 ။ အခြားအကြံပြုချက်များ

အကယ်. သင်သည်ဆာဗာသို့ရုပ်ပုံကိုဆာဗာသို့သိမ်းဆည်းလိုပါက https://m66.net/uploads/polygon.png သို့သင်ဤသို့ပြုလုပ်နိုင်သည်။

 imagepng($image, '/path/to/uploads/polygon.png');

/ လမ်းကြောင်း / uploads / directory တည်ရှိရန်သတိရပါ။