POPPENPOLYGON function ကိုမည်သို့အသုံးပြုရမည်။
Image Procession စဉ်အတွင်းတိကျသောဒေသများသီးနှံများကိုသီးနှံများကိုသီးနှံများသည်အလွန်များသောအားဖြင့်ဖြစ်သည်။ ရုပ်ပုံသီးနှံများကိုနည်းအမျိုးမျိုးဖြင့်ကျွန်ုပ်တို့ရရှိနိုင်ပါသည်။ ဘုံနည်းလမ်းများမှာ Polygon area ရိယာသီးနှံများကို PHP တွင် ImpoPocpolygon function ကိုအသုံးပြုရန်ဖြစ်သည်။ ဒီ function ကိုမှတစ်ဆင့် Polygon area ရိယာကိုတိကျစွာ သတ်မှတ်. ဒီ area ရိယာရဲ့ contents တွေကိုပုံကနေဖယ်ထုတ်နိုင်ပါတယ်။ ထို့နောက်ကျွန်ုပ်တို့သည် ပုံရိပ် OpenPolygonon function ကိုမည်သို့အသုံးပြုရမည်ကိုဆွေးနွေးပါမည်။
Polygon area ရိယာသီးနှံများ၏အခြေခံအယူအဆမှာ -
Polygon area ရိယာကိုသတ်မှတ်ခြင်း - polygon ၏ vertex ကိုသတ်မှတ်ခြင်းဖြင့် clipping area ရိယာကိုသတ်မှတ်သည်။
Imageopenpolygon untion ကိုအသုံးပြုပါ ။ Imageopenpolygonon function ကိုအသုံးပြုပါ။
CROP ပုံများ - polygon areas ရိယာများတွင် coldygon areas ရိယာများတွင် imagecrop သို့မဟုတ်အခြားသီးနှံစိုက်ပျိုးခြင်းနည်းလမ်းများမှတဆင့်ထုတ်ယူပါ။
ဒီဖြေရှင်းချက်ကိုအကောင်အထည်ဖော်ရန်အဆင့်များမှာဤတွင်ဖြစ်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် PHP's isaSeecreatjpeg , imagecreatfressmjpng သို့မဟုတ်အခြားဆက်စပ်လုပ်ဆောင်ချက်များဖြင့်တင်ဆောင်နိုင်သည့်ပုံရိပ်တစ်ခုတင်ရန်လိုအပ်သည်။
$image = imagecreatefromjpeg('your_image.jpg'); // image ဖိုင်များကိုတင်ခြင်း
သီးနှံစိုက်ပျိုးခြင်းမပြုမီ, သီးနှံ 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 ) ကိုသတ်မှတ်ပါတယ်။
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);
Imageopenpolygon function ကို အသုံးပြု. ကျွန်ုပ်တို့သည်မျက်နှာဖုံးပေါ်တွင် polygon တစ်ခုကိုဆွဲယူနိုင်သည်။ ဤတွင်ကျွန်ုပ်တို့သည် Polygon ၏ vertex နှင့်နယ်စပ်ရှိ border ကိုသတ်မှတ်သည်။
$polygonColor = imagecolorallocate($mask, 255, 255, 255); // အဖြူရောင်
imagefilledpolygon($mask, array_merge(...$vertices), count($vertices), $polygonColor); // polygons ဖြည့်ပါ
ဤအဆင့်တွင်ကျွန်ုပ်တို့သည်အဖြူရောင် polygon ကိုဆွဲရန်နှင့်၎င်း၏အတွင်းပိုင်းကိုဖြည့်ဆည်းရန် Idefloypolygon function ကိုအသုံးပြုသည်။
ယခုတွင်ကျွန်ုပ်တို့တွင် Polygon မျက်နှာဖုံးတစ်ခုရှိသည်။ ၎င်းကိုသီးနှံစိုက်ပျိုးခြင်းအတွက်မူရင်းပုံသို့၎င်းကိုကျင့်သုံးနိုင်သည်။ Polygon area ရိယာအတွင်းရှိအကြောင်းအရာများကိုသာပြသနိုင်ရန်မျက်နှာဖုံးသို့မျက်နှာဖုံးကိုအသုံးပြုသည်။
imagecopymerge($image, $mask, 0, 0, 0, 0, imagesx($image), imagesy($image), 100);
နောက်ဆုံးတွင် 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 ကိုသုံးနိုင်သည်။ ဤနည်းလမ်းသည်အလွန်ပြောင်းလွယ်ပြင်လွယ်ရှိပြီးရှုပ်ထွေးသောဖြတ်တောက်ခြင်းလိုအပ်ချက်များကိုကိုင်တွယ်ရန်အသုံးပြုနိုင်ပြီးပုံစံအမျိုးမျိုးတွင်ဖြတ်တောက်ရန်သင့်တော်သည်။ ပုံသဏ္ဏန်၏ဒေါင်လိုက်ကိုကျိုးကြောင်းဆီလျော်စွာသတ်မှတ်ခြင်းဖြင့်ပုံသဏ္ဌာန်ကိုတိတိကျကျဖြည်ချနိုင်သည်။