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

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

M66 2025-06-01

0 က်ဘ်ဆိုက်မဖွံ့ဖြိုးတိုးတက်မှုတွင်အထူးသဖြင့်မြေပုံပြသခြင်းနှင့်အပြန်အလှန်ဆက်သွယ်မှုလုပ်ဆောင်ချက်များ, Imageopenpolygon () function သည် GD စာကြည့်တိုက်တွင်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်ကျွန်ုပ်တို့ကိုရုပ်ပုံများပေါ်တွင်ဆွဲယူရန်ကူညီနိုင်သည်။ ဤဆောင်းပါးသည် PHP တွင် PHP တွင် PHP တွင် PHP ရှိ function ကိုမည်သို့အသုံးပြုရမည်,

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

ပထမ ဦး စွာ GD စာကြည့်တိုက်ကိုသင်၏ PHP ပတ်ဝန်းကျင်တွင်တပ်ဆင်ပြီးဖွင့်ထားကြောင်းသေချာပါစေ။ ယေဘုယျအားဖြင့် GD စာကြည့်တိုက်ကိုပုံမှန်အားဖြင့် PHP ပတ်ဝန်းကျင်တွင်ထည့်သွင်းထားသည်။ မရရှိလျှင်၎င်းကိုအောက်ပါ command မှတဆင့် install လုပ်နိုင်သည်။

 sudo apt-get install php-gd

ထည့်သွင်းပြီးနောက်အပြောင်းအလဲများအကျိုးသက်ရောက်မှုအတွက် Apache သို့မဟုတ် PHP-FPM ဝန်ဆောင်မှုကိုပြန်လည်စတင်ရန်သတိရပါ။

2 ။ IDEOPENPOLYGON () function ကိုသုံးပါ

Imageopenpolygon () function ကို၏ function ကို၏ function သည်ပေးထားသောညှိနှိုင်းရေးခင်းကျင်းမှုအပေါ် အခြေခံ. ပုံပေါ်၌ polygon ကိုဆွဲရန်ဖြစ်သည်။ ဤလုပ်ဆောင်ချက်၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 imageopenpolygon($image, $points, $num_points, $color);
  • $ Image : ပုံရိပ်အရင်းအမြစ်ကိုပစ်မှတ်ထားသည်။

  • $ ရမှတ်များ - Polygon Vertex ကိုသွဒီနိတ်များ။

  • $ numpoints : polygon ၏ဒေါဓိပ်မှုအရေအတွက်။

  • $ အရောင် : အနား၏အရောင်။

2.1 image အရင်းအမြစ်များဖန်တီးခြင်း

ပထမ ဦး စွာကျွန်ုပ်တို့သည်ပုံရိပ်အရင်းအမြစ်တစ်ခုကိုဖန်တီးရန်လိုအပ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည် Image File တစ်ခုမှပုံရိပ်အရင်းအမြစ်တစ်ခုကိုဖန်တီးသို့မဟုတ် image တစ်ခုအလွတ်တစ်ခုဖန်တီးပါ။

 <?php
// အလွတ်တစ်ခုဖန်တီးပါ(မြေပုံပုံရိပ်တစ်ခုဖြစ်နိုင်ပါတယ်)
$image = imagecreate(500, 500); // a500x500ရွက်တည်ကား
$backgroundColor = imagecolorallocate($image, 255, 255, 255); // အဖြူရောင်နောက်ခံ
?>

2.2 Polygon ကိုသွဒီနိတ်များကိုသတ်မှတ်ခြင်း

Polygon ၏သွဒီနိတ်များကိုခင်းကျင်းခြင်းဖြင့်သတ်မှတ်သည်။ Vertex ၏သွဒီဝတ်ထုများကို array elements များကကိုယ်စားပြုသည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်စတုဂံဒေသကိုဥပမာတစ်ခုအဖြစ်သတ်မှတ်နိုင်သည်။

 <?php
// တစ်စတုဂံ၏ vertex ကိုသွဒီနိတ်လေး ဦး ကိုသတ်မှတ်ပါ
$points = array(
    100, 100,  // ဒေါင်လိုက်1 (x, y)
    400, 100,  // ဒေါင်လိုက်2 (x, y)
    400, 400,  // ဒေါင်လိုက်3 (x, y)
    100, 400   // ဒေါင်လိုက်4 (x, y)
);
?>

2.3 polygons ဆွဲ

ထို့နောက် Polygon ကိုဆွဲရန် Imageopenpolygon () function ကိုသုံးပါ။

 <?php
// Polygon အရောင်သတ်မှတ်ပါ
$polygonColor = imagecolorallocate($image, 255, 0, 0); // နီသော

// Polygons ဆွဲပါ
imagefilledpolygon($image, $points, 4, $polygonColor); // အသုံးပြု imagefilledpolygon အရောင်ဖြည့်ရန်
?>

3 ။ ဒေသဆိုင်ရာအပြန်အလှန်လုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ပါ

အသုံးပြုသူသည်မြေပုံ၏ an ရိယာကိုနှိပ်လိုက်သည့်ဒေသဆိုင်ရာအပြန်အလှန်လုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ပါ။ ရိုးရှင်းစေရန်ကျွန်ုပ်တို့သည်ဒေသဆိုင်ရာအပြန်အလှန်အကျိုးပြုရန် HTML ၏ <Map> Tag နှင့် PHP ကိုပေါင်းစပ်နိုင်သည်။

3.1 HTML ၏ <map> နှင့် <of ရိယာ> tags များကိုအသုံးပြုခြင်း

HTML တွင် Image Hotspot area ရိယာသည် <map> နှင့် <of ရိယာ> tags များမှတဆင့်အကောင်အထည်ဖော်နိုင်သည်။ အသုံးပြုသူသည်ဤဒေသများပေါ်တွင်နှိပ်သောအခါ JavaScript သို့မဟုတ် PHP အတွက်တောင်းဆိုမှုကိုဖြစ်ပေါ်စေနိုင်သည်။

 <?php
// 创建图像资源并Polygons ဆွဲပါ,အထက်တွင်ဖော်ပြခဲ့သည့်အတိုင်း

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

// မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($image);
?>
 <img src="your_image.png" usemap="#map" alt="မေြပုံ">
<map name="map">
    <area shape="poly" coords="100,100,400,100,400,400,100,400" href="http://m66.net/region1" alt="မေြရာ1">
    <!-- 可以为每个မေြရာ定义不同的链接 -->
    <area shape="poly" coords="150,150,350,150,350,350,150,350" href="http://m66.net/region2" alt="မေြရာ2">
</map>

ဤတွင် ကိုရင်းစွဲများကို ပိုလန်၏သွဒီနိတ်များကသတ်မှတ်သည်။ ပုံတူ = "Poly" သည် Polygon area ရိယာကိုကိုယ်စားပြုပြီး HREF attribute သည်ဤ area ရိယာကိုနှိပ်သောအခါအသုံးပြုသူခုန်ခြင်းလိပ်စာဖြစ်သည်။ ဒီဥပမာမှာ URL တွေကို m66.net ဒိုမိန်းအမည်တွေနဲ့အစားထိုးလိုက်တယ်။

3.2 အပြန်အလှန်အကျိုးသက်ရောက်မှုဖြစ်ရပ်များကိုကိုင်တွယ်ခြင်း

ဤနည်းအားဖြင့်အသုံးပြုသူသည်မတူညီသော areas ရိယာများကိုနှိပ်သောအခါသူသည်လိုအပ်ချက်များနှင့်အညီမတူညီသောစာမျက်နှာများသို့ခုန်နိုင်သည်။ ဥပမာအားဖြင့်အသုံးပြုသူသည် area ရိယာအပေါ် အခြေခံ. ကွဲပြားသောယုတ္တိဗေဒကိုလုပ်ဆောင်သော PHP စာမျက်နှာကိုသင်ဖန်တီးနိုင်သည်။

 <?php
if ($_SERVER['REQUEST_URI'] == '/region1') {
    // 处理မေြရာ1အပြန်အလှန်ယုတ္တိဗေဒ
    echo "您点击了မေြရာ1!";
} elseif ($_SERVER['REQUEST_URI'] == '/region2') {
    // 处理မေြရာ2အပြန်အလှန်ယုတ္တိဗေဒ
    echo "您点击了မေြရာ2!";
}
?>

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

ဤဆောင်းပါးသည်မြေပုံ areas ရိယာများကို HTML <Map> Tag ကိုအသုံးပြုရမည်ကို PHP တွင်အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးပြီး HTML <Map> Tag ကိုပေါင်းစပ်ပြီး HTML <map> tag ကိုပေါင်းစပ်ထားသည်။ ဤနည်းအားဖြင့်အသုံးပြုသူများကိုမြေပုံရှိမတူညီသော areas ရိယာများနှင့်အပြန်အလှန်ဆက်သွယ်ခွင့်ပြုသည့်အပြန်အလှန်ဆက်သွယ်သည့်မြေပုံကိုသင်ဖန်တီးနိုင်သည်။ ၎င်းသည်တိကျသောဒေသများသို့မဟုတ်ကိုင်တွယ် area ရိယာကိုနှိပ်ခြင်းဖြစ်ဖြစ်,