လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဒိုင်းနင်နီဂွန်တပ်များအားမတရားအုပ်စိုးနှင့်အတူ polygons ဆွဲရန်သွဒိနိတ်ခင်း array ကိုထုတ်လုပ်သည်

ဒိုင်းနင်နီဂွန်တပ်များအားမတရားအုပ်စိုးနှင့်အတူ polygons ဆွဲရန်သွဒိနိတ်ခင်း array ကိုထုတ်လုပ်သည်

M66 2025-05-29

Image Processing ၏နယ်ပယ်တွင် PHP ၏ GD စာကြည့်တိုက်ကို အသုံးပြု. ဂရပ်ဖစ်ဆွဲခြင်းသည်ဘုံကျွမ်းကျင်မှုတစ်ခုဖြစ်သည်။ ၎င်းတို့အနက် Imageopenpolygon function (မှန်ကန်သော function name name name name image perfolygon ဖြစ်သင့်သည်) ကိုအနားမယူမီမဆိုအနားများထံမှဆွဲထုတ်နိုင်သည်။ ဤဆောင်းပါးသည်သွဒိနိတ်ခင်း arrays များကိုပုံမှန်ဖန်တီးရန်နှင့်ပုံမှန် n-sides ဆွဲရန်အသုံးပြုကြောင်းအသေးစိတ်ကိုအသေးစိတ်ဖော်ပြထားသည်။

1 ။ ImagePolygon ဆိုတာဘာလဲ။

ImagePolygon () Php GD စာကြည့်တိုက်တွင် Php GD စာကြည့်တိုက်တွင်အသုံးပြုသော function တစ်ခုဖြစ်သည်။
၎င်း၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 bool imagepolygon(
    GdImage $image,
    array $points,
    int $num_points,
    int $color
)
  • $ ပုံရိပ် သည်ပုံကြမ်းအရင်းအမြစ်ဖြစ်သည်။

  • $ ရမှတ် များသည်အမှတ်အသားတစ်ခုဖြစ်ပြီး [X1, Y1, x2, Y2, xn, Yn တို့ဖြစ်သည်။

  • $ numpoints သည်အချက်များအရေအတွက်ဖြစ်သည် (2 ဖြင့်ကွဲပြားသောခင်းကျင်းဒြပ်စင်အရေအတွက်မဟုတ်ပါ);

  • $ အရောင် သည်အရောင်ရေးဆွဲခြင်းဖြစ်သည်။

2 ။ CORDEDEINDARESATION Arrays ကို dynamicature generate လုပ်နည်း။

(Pentagons, Octagons စသဖြင့်မဆိုအနားမယူသည့်အနားတွင်မဆိုတုန့်ပြန်ရန် (ဥပမာ, ဒီစိတ်ကူးကအောက်ပါအတိုင်းဖြစ်သည် -

  • Polygon ၏ဗဟိုအချက်ကိုသတ်မှတ်ပါ (CX, CY) ,

  • Radius r ကို (i.e. စင်တာကနေ Vertex) ကိုသတ်မှတ်ပါ။

  • တစ် ဦး ချင်းစီ vertex အညီအမျှ 360 °မှာအညီအမျှဖြန့်ဝေ;

  • Vertex တစ်ခုချင်းစီ၏သွဒီနိတ်များကို sine ( အပြစ် ) နှင့် cosine ( COS ) ဖြင့်တွက်ချက်နိုင်သည်။

ပုံသေနည်းမှာ -

 x = cx + r * cos(ထောင့်)
y = cy + r * sin(ထောင့်)

PHP COS () နှင့် အပြစ်များ က ရရှိသောထောင့်များသည် radians များ,

3 ။ php ဥပမာကိုဖြည့်စွက်

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

 <?php
// ပုံအရွယ်အစားသတ်မှတ်ပါ
$width = 400;
$height = 400;

// ပတ်တူဖန်တီးပါ
$image = imagecreatetruecolor($width, $height);

// အရောင်များကိုသတ်မှတ်ပါ
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);

// နောက်ခံဖြည့်ပါ
imagefill($image, 0, 0, $white);

// Polygon parameters တွေကို
$number_of_sides = 7; // ဥပမာအားဖြင့်,heptagons ဆွဲပါ
$radius = 150; // အချင်းဝက်မျဉ်း
$centerX = $width / 2;
$centerY = $height / 2;

// သွဒီနိတ်အချက်များ generate
$points = [];
for ($i = 0; $i < $number_of_sides; $i++) {
    $angle_deg = (360 / $number_of_sides) * $i - 90; // ထိပ်ကနေဆွဲစတင်ပါ
    $angle_rad = deg2rad($angle_deg);
    $x = $centerX + $radius * cos($angle_rad);
    $y = $centerY + $radius * sin($angle_rad);
    $points[] = (int)$x;
    $points[] = (int)$y;
}

// Polygons ဆွဲပါ
imagepolygon($image, $points, $number_of_sides, $black);

// browser မှ output ကိုဓာတ်ပုံများ
header('Content-Type: image/png');
imagepng($image);

// အရင်းအမြစ်များကိုဖျက်ဆီးသည်
imagedestroy($image);
?>

အထက်ပါ code ကို PHP ဖိုင် (ဥပမာ polygon.php ) အဖြစ်သိမ်းဆည်းပါ။ ၎င်းကို browser မှတဆင့်ကြည့်ရှုပါ,

IV ။ ဖော်ပြချက်

  • $ number_of_sides variable ကိုညှိခြင်းအားဖြင့်, polygonons ကွဲပြားခြားနားသောနှစ်ဖက်နှင့်အတူ polygons ဆွဲနိုင်ပါတယ်;

  • $ အချင်းဝက်သည် polygon ၏အရွယ်အစားကိုဆုံးဖြတ်သည်။

  • ထောင့်၏ offset (ဤနေရာတွင် -90 ဒီဂရီဤဒီဂရီများ) သည်ပထမ ဦး ဆုံး vertex ကိုထိပ်ဆုံးတွင်ဖော်ပြထားသည်။

  • ပုံကိုဆာဗာသို့သိမ်းဆည်းရန်လိုအပ်ပါက imagePng ($ image, image, လမ်းကြောင်း / file.png) ကို သုံးနိုင်သည်။

ဥပမာအားဖြင့်, ပုံကို m66.net/uploads/polygon.png သို့သိမ်းဆည်းပါ။

 imagepng($image, '/var/www/m66.net/uploads/polygon.png');

Save လမ်းညွှန်သည်ခွင့်ပြုချက်ကိုရေးရန်သေချာစေရန်သတိထားပါ။

5 ။ အကျဉ်းချုပ်

PHP ၏ Implolygonon function ကိုရိုးရှင်းသော trigonometric operations နှင့်ပေါင်းစပ်ပြီးပေါင်းစပ်ထားသော PHP ၏ importpolygon function ကိုကျွန်ုပ်တို့အလွယ်တကူမဆိုအနားဆက်မဆို polygon များကိုအလွယ်တကူဆွဲနိုင်သည်။ ဂရပ်ဖန်တွေမီးစက်များ, စိစစ်အတည်ပြုထားသောကုဒ်များနှင့်ဇယားအစိတ်အပိုင်းများကိုပြုလုပ်ရာတွင်၎င်းသည်အလွန်အသုံးဝင်သည်။ အနာဂတ်တွင်အဆင်သင့်တွင်အရောင်ဖြည့်စွက်ခြင်းဖြင့် polygon ကိုဆွဲယူလိုပါက၎င်းကိုအကောင်အထည်ဖော်ရန် IdentePolygon () function ကိုပေါင်းစပ်နိုင်သည်။