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

polygonal area ရိယာတွင်ပုံရိပ်များသီးနှံများကိုအကောင်အထည်ဖော်ရန်အဖြေရှာခြင်း (မျက်နှာဖုံး)

M66 2025-05-29

POPPENPOLYGON function ကိုမည်သို့အသုံးပြုရမည်။

နိဒါန်း

Image Procession စဉ်အတွင်းတိကျသောဒေသများသီးနှံများကိုသီးနှံများကိုသီးနှံများသည်အလွန်များသောအားဖြင့်ဖြစ်သည်။ ရုပ်ပုံသီးနှံများကိုနည်းအမျိုးမျိုးဖြင့်ကျွန်ုပ်တို့ရရှိနိုင်ပါသည်။ ဘုံနည်းလမ်းများမှာ Polygon area ရိယာသီးနှံများကို PHP တွင် ImpoPocpolygon function ကိုအသုံးပြုရန်ဖြစ်သည်။ ဒီ function ကိုမှတစ်ဆင့် Polygon area ရိယာကိုတိကျစွာ သတ်မှတ်. ဒီ area ရိယာရဲ့ contents တွေကိုပုံကနေဖယ်ထုတ်နိုင်ပါတယ်။ ထို့နောက်ကျွန်ုပ်တို့သည် ပုံရိပ် OpenPolygonon function ကိုမည်သို့အသုံးပြုရမည်ကိုဆွေးနွေးပါမည်။

အခြေခံအတွေးအခေါ်များ

Polygon area ရိယာသီးနှံများ၏အခြေခံအယူအဆမှာ -

  1. Polygon area ရိယာကိုသတ်မှတ်ခြင်း - polygon ၏ vertex ကိုသတ်မှတ်ခြင်းဖြင့် clipping area ရိယာကိုသတ်မှတ်သည်။

  2. Imageopenpolygon untion ကိုအသုံးပြုပါImageopenpolygonon function ကိုအသုံးပြုပါ။

  3. CROP ပုံများ - polygon areas ရိယာများတွင် coldygon areas ရိယာများတွင် imagecrop သို့မဟုတ်အခြားသီးနှံစိုက်ပျိုးခြင်းနည်းလမ်းများမှတဆင့်ထုတ်ယူပါ။

ဒီဖြေရှင်းချက်ကိုအကောင်အထည်ဖော်ရန်အဆင့်များမှာဤတွင်ဖြစ်သည်။

အဆင့် 1: ပုံကိုတင်ပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် PHP's isaSeecreatjpeg , imagecreatfressmjpng သို့မဟုတ်အခြားဆက်စပ်လုပ်ဆောင်ချက်များဖြင့်တင်ဆောင်နိုင်သည့်ပုံရိပ်တစ်ခုတင်ရန်လိုအပ်သည်။

 $image = imagecreatefromjpeg('your_image.jpg');  // image ဖိုင်များကိုတင်ခြင်း

အဆင့် 2 - အနား၏ဒေါင်လိုက်ကိုသတ်မှတ်ပါ

သီးနှံစိုက်ပျိုးခြင်းမပြုမီ, သီးနှံ area ရိယာ၏ပုံသဏ် and ာန်နှင့်အရွယ်အစားကိုဆုံးဖြတ်ရန် Polygon Vertices ကိုသတ်မှတ်ရန်လိုအပ်သည်။ Vertex သည်ခင်းကျင်းမှုတစ်ခုဖြစ်သင့်ပြီးခင်းကျင်းမှုတစ်ခုစီသည် Vertex ၏သွဒီနိတ်ဖြစ်သည်။

 $vertices = [
    [100, 100],
    [200, 100],
    [200, 200],
    [100, 200]
];

ဒီကုဒ်ကစတုဂံ ( 100,100 , 200,100 , 200,200, 200,200 , 200,200 ) ကိုသတ်မှတ်ပါတယ်။

အဆင့် 3: ပွင့်လင်းမြင်သာသောမျက်နှာဖုံးကိုဖန်တီးပါ

Image OpenPolygonon function ကိုအသုံးပြုနိုင်ရန် Image Contain ကိုသီးနှံများကိုသီးနှံများကိုသီးနှံများကိုအသုံးပြုရန်အတွက်မူရင်းပုံရိပ်နှင့်အရွယ်အစားတူသော Transparent image mask တစ်ခုဖန်တီးရန်လိုအပ်သည်။

 $mask = imagecreatetruecolor(imagesx($image), imagesy($image));
$transparent = imagecolorallocatealpha($mask, 0, 0, 0, 127);  // ပွင့်လင်းနောက်ခံတစ်ခုဖန်တီးပါ
imagefill($mask, 0, 0, $transparent);

အဆင့် 4: polygonal area ရိယာဆွဲပါ

Imageopenpolygon function ကို အသုံးပြု. ကျွန်ုပ်တို့သည်မျက်နှာဖုံးပေါ်တွင် polygon တစ်ခုကိုဆွဲယူနိုင်သည်။ ဤတွင်ကျွန်ုပ်တို့သည် Polygon ၏ vertex နှင့်နယ်စပ်ရှိ border ကိုသတ်မှတ်သည်။

 $polygonColor = imagecolorallocate($mask, 255, 255, 255);  // အဖြူရောင်
imagefilledpolygon($mask, array_merge(...$vertices), count($vertices), $polygonColor);  // polygons ဖြည့်ပါ

ဤအဆင့်တွင်ကျွန်ုပ်တို့သည်အဖြူရောင် polygon ကိုဆွဲရန်နှင့်၎င်း၏အတွင်းပိုင်းကိုဖြည့်ဆည်းရန် Idefloypolygon function ကိုအသုံးပြုသည်။

အဆင့် 5. မျက်နှာဖုံးကိုအသုံးပြုပြီးပုံကိုဖြတ်တောက်ပါ

ယခုတွင်ကျွန်ုပ်တို့တွင် Polygon မျက်နှာဖုံးတစ်ခုရှိသည်။ ၎င်းကိုသီးနှံစိုက်ပျိုးခြင်းအတွက်မူရင်းပုံသို့၎င်းကိုကျင့်သုံးနိုင်သည်။ Polygon area ရိယာအတွင်းရှိအကြောင်းအရာများကိုသာပြသနိုင်ရန်မျက်နှာဖုံးသို့မျက်နှာဖုံးကိုအသုံးပြုသည်။

 imagecopymerge($image, $mask, 0, 0, 0, 0, imagesx($image), imagesy($image), 100);

အဆင့် 6: cropped ပုံရိပ် output

နောက်ဆုံးတွင် cropped ပုံရိပ်ထုတ်ပေးပါ။ imagejpeg , imagepng နှင့်အခြားလုပ်ဆောင်မှုများကို output လုပ်ရန်သို့မဟုတ်ပုံများသိမ်းဆည်းရန်အသုံးပြုနိုင်သည်။

 header('Content-Type: image/jpeg');
imagejpeg($image);  // output ကို cropped ပုံ
imagedestroy($image);  // ပုံရိပ်အရင်းအမြစ်များကိုလွှတ်ပါ
imagedestroy($mask);  // MASK အရင်းအမြစ်များကိုဖြန့်ချိပါ

ကုဒ်ကိုအပြည့်အဝ

 <?php
$image = imagecreatefromjpeg('your_image.jpg');  // image ဖိုင်များကိုတင်ခြင်း

// Polygon Vertices ကိုသတ်မှတ်ပါ
$vertices = [
    [100, 100],
    [200, 100],
    [200, 200],
    [100, 200]
];

// ပွင့်လင်းမျက်နှာဖုံးတစ်ခုဖန်တီးပါ
$mask = imagecreatetruecolor(imagesx($image), imagesy($image));
$transparent = imagecolorallocatealpha($mask, 0, 0, 0, 127);
imagefill($mask, 0, 0, $transparent);

// Polygons ဆွဲပါ
$polygonColor = imagecolorallocate($mask, 255, 255, 255);
imagefilledpolygon($mask, array_merge(...$vertices), count($vertices), $polygonColor);

// မျက်နှာဖုံးနှင့်အတူသီးနှံပုံရိပ်တွေ
imagecopymerge($image, $mask, 0, 0, 0, 0, imagesx($image), imagesy($image), 100);

// output ကိုပုံ
header('Content-Type: image/jpeg');
imagejpeg($image);

imagedestroy($image);
imagedestroy($mask);
?>

အကျဉ်းချုပ်

အထက်ပါအဆင့်များမှတစ်ဆင့် Polygon ဒေသများ၏ဖြတ်တောက်မှုကိုနားလည်သဘောပေါက်ရန် PHP ၏ ImpPenPolygon function ကိုသုံးနိုင်သည်။ ဤနည်းလမ်းသည်အလွန်ပြောင်းလွယ်ပြင်လွယ်ရှိပြီးရှုပ်ထွေးသောဖြတ်တောက်ခြင်းလိုအပ်ချက်များကိုကိုင်တွယ်ရန်အသုံးပြုနိုင်ပြီးပုံစံအမျိုးမျိုးတွင်ဖြတ်တောက်ရန်သင့်တော်သည်။ ပုံသဏ္ဏန်၏ဒေါင်လိုက်ကိုကျိုးကြောင်းဆီလျော်စွာသတ်မှတ်ခြင်းဖြင့်ပုံသဏ္ဌာန်ကိုတိတိကျကျဖြည်ချနိုင်သည်။