လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ၏ ImpPenPolygon () function ကိုမည်သို့အသုံးပြုရမည်နည်း။

PHP ၏ ImpPenPolygon () function ကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-07-08

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

Imageopenpolygon () function ကဘာလဲ။

PHP ၏ Impopenpolygon () function သည်ပုံမှန် GD စာကြည့်တိုက်၏လုပ်ဆောင်မှုမဟုတ်ပါ, ထို့ကြောင့်၎င်းကို PHP ၏စာရွက်စာတမ်းများတွင်ပုံမှန်အားဖြင့်မတွေ့ရပါ။ သို့သော် PHP developer များစွာသည်ဂရပ်ဖစ်၏တုပများကိုဖြည့်ဆည်းပေးရန်နှင့်ဟော့စပေါ့ဒေသများကိုကွဲပြားစေရန်အတွက် extension များသို့မဟုတ်စိတ်ကြိုက်အကောင်အထည်ဖော်မှုများကိုသုံးနိုင်သည်။

polygon ၏ hotspot areas ရိယာများကိုခွဲဝေရန်အတွက် polygon ၏ vertex ကိုသွဒီနိတ်များကိုသတ်မှတ်ခြင်းဖြင့်သတ်သတ်မှတ်မှတ် area ရိယာကိုဆုံးဖြတ်ရန်လိုအပ်သည်။ ဤလုပ်ဆောင်ချက်သည်ကွဲပြားခြားနားသောဖြစ်ရပ်များကိုဖြစ်ပေါ်စေရန်သို့မဟုတ်အသုံးပြုသူသည်တိကျသော area ရိယာကိုနှိပ်ရန်လိုသည့်အခါသို့မဟုတ်ခုန်ချနိုင်သည်။

PHP ကို ​​သုံး. Hotspot area ရိယာတိုင်းကိုအကောင်အထည်ဖော်ရန်အခြေခံအဆင့်များ

  1. ဓာတ်ပုံများတင်ခြင်း <br> <br> ပစ်မှတ်ထားပုံရိပ်ကို load လုပ်ရန် imagecreatherfromjpeg () သို့မဟုတ် imagecreatfressmpng () ကိုအသုံးပြုပါ။

     $image = imagecreatefromjpeg('image.jpg');
    
  2. Polygon ၏ vertex ကိုသွဒီနိတ်များကိုသတ်မှတ်ပါ ကျနော်တို့ဟော့စပေါ့ဒေသအတွက် polygon ကိုသတ်မှတ်ရန်လိုအပ်သည်။ Polygon ၏ vertex ကိုသွဒီနိတ်များကိုခင်းကျင်းခြင်းဖြင့်ကိုယ်စားပြုနိုင်သည်။ ဥပမာအားဖြင့်, quadrilateral ၏ vertex ကိုသွဒီနိတ်ဖြစ်နိုင်သည်:

     $points = [
        50, 50,  // အစွန်း1
        150, 50, // အစွန်း2
        150, 150,// အစွန်း3
        50, 150  // အစွန်း4
    ];
    
  3. Polygon Hot Spots ဆွဲပါ Polygon ကိုပုံထဲသို့ဆွဲရန်နှင့်တိကျသောအရောင်သတ်မှတ်ရန် IdefrefeledPolygon () function ကိုသုံးပါ။ Idefeflepolygon () ပုံပေါ်ရှိအရောင်များကိုဖြည့်စွက်ခြင်းဖြင့် polygons များကိုဆွဲယူသည်။

     $color = imagecolorallocate($image, 255, 0, 0);  // နီသော
    imagefilledpolygon($image, $points, count($points) / 2, $color);
    
  4. ပူသောအစက်အပြောက်များနှင့်အပြန်အလှန်ဆက်သွယ်ပါ Image ကိုထုတ်လုပ်ပြီးနောက်တွင်ဤပူပြင်းသည့်နေရာများ၏အပြန်အလှန်ဆက်သွယ်မှုကိုသတ်မှတ်ရန်ပုံရိပ်မြေပုံ (agemap) ကိုသုံးနိုင်သည်။ Polygonal areas ရိယာများကိုသက်ဆိုင်ရာ URL သို့မြေပုံရေးဆွဲခြင်းဖြင့်အသုံးပြုသူသည်သက်ဆိုင်ရာ area ရိယာကိုနှိပ်သောအခါသက်ဆိုင်ရာစာမျက်နှာသို့ခုန်ချလိမ့်မည်။

    အကယ်. ၎င်းသည်အပြန်အလှန်အကျိုးသက်ရောက်မှုရှိသောပုံတစ်ခုဖြစ်ပါကပုံမှန်အားဖြင့် JavaScript နှင့် HTML ပေါင်းစပ်မှုပေါင်းစပ်ရန်လိုအပ်ပြီး PHP သည်ပုံအစိတ်အပိုင်းများကိုထုတ်လုပ်ရန်နှင့်ထုတ်လုပ်ရန်သာတာ 0 န်ရှိသည်။ ဥပမာအားဖြင့်:

     <img src="image.php" usemap="#hotspot" />
    <map name="hotspot">
        <area shape="poly" coords="50,50,150,50,150,150,50,150" href="http://m66.net/target-page1" />
    </map>
    

Code Perfect: Hot အစက်အပြောက်များဖြင့်ပုံတစ်ပုံကိုထုတ်လုပ်ပါ

 <?php
// ပုံတစ်ပုံဖန်တီးပါ
$image = imagecreatefromjpeg('image.jpg');

// 定义多边形的顶အစွန်း
$points = [
    50, 50,  // အစွန်း1
    150, 50, // အစွန်း2
    150, 150,// အစွန်း3
    50, 150  // အစွန်း4
];

// အရောင်ထားပါ
$color = imagecolorallocate($image, 255, 0, 0);  // နီသော

// Polygons ဆွဲပါ
imagefilledpolygon($image, $points, count($points) / 2, $color);

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

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

အထက်ဖော်ပြပါကုဒ်သည် hotspot area ရိယာပါ 0 င်သည့်ပုံတစ်ပုံနှင့်၎င်းကို JPEG format ဖြင့်ထုတ်ပေးလိမ့်မည်။ အကယ်. သင်သည်ဤဟော့စတိုများကိုဝက်ဘ်စာမျက်နှာတစ်ခုတွင်အသုံးပြုလိုပါကအပြန်အလှန်လုပ်ဆောင်မှုများအတွက် HTML image mapping ( <map> tags) ကိုသုံးနိုင်သည်။

မှတ်သားရန်အရာ

  • Polygon Vertex ကိုသွဒီနိတ် - သင်အောင်မြင်သောကိုသွဒီနိတ်များမှန်ကန်ကြောင်းသေချာအောင်လုပ်ပြီးပုံအရွယ်အစားနှင့်ကိုက်ညီကြောင်းသေချာပါစေ။ ဒီလိုမှမဟုတ်ရင် Hotspot area ရိယာကိုမှန်ကန်စွာပြလိမ့်မည်မဟုတ်ပါ။

  • Image format - မတူကွဲပြားသောပုံရိပ်ပုံစံများ (JPEG, PNG, စသည်တို့) ကို အသုံးပြု. imagecreatformmphng () imagejpeg () imagejpeg ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုအသုံးပြုနိုင်သည်။

  • အပြန်အလှန်ဆက်သွယ်မှု - ပိုမိုရှုပ်ထွေးသောအပြန်အလှန်ဆက်သွယ်မှုများလိုအပ်ပါက, ကလစ်နှိပ်သည့်နေရာများအပေါ် အခြေခံ. ပူပြင်းသည့်အစက်အပြောက်များကဲ့သို့သောရှေ့ပြေးများအစက်အပြောက်များပြုလုပ်ရန်အတွက်အသုံးပြုသူအတွေ့အကြုံကိုမြှင့်တင်ရန်အတွက်ရှေ့ပြေးများနည်းစနစ်များ (ဥပမာ JavaScript) ကိုပေါင်းစပ်ရန်အကြံပြုသည်။

နိဂုံးချုပ်အားဖြင့်

PHP သည် developer များကိုဓာတ်ပုံရိုက်သည့်အစက်အပြောက်များကိုပြောင်းလွယ်ပြင်နိုင်အောင်ကူညီနိုင်သည့်ပုံရိပ်ထုတ်ယူမှုအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ IdefloyGon () function ကို အသုံးပြု. အသုံးပြုသောအခါ developer များပိုမိုအသေးစိတ်အပြန်အလှန်ဒီဇိုင်းအောင်မြင်ရန်ပုံရိပ်၏ကွဲပြားခြားနားသောနေရာများကိုတိကျစွာခွဲခြားနိုင်သည်။ ရုပ်ပုံများအတွက်ရုပ်ပုံများအတွက် PHP ကို ​​နှိပ်. အသုံးပြုသူကိုတုန့်ပြန်ရန်လိုအပ်သည့်မြင်ကွင်းများအတွက် HTML နှင့် JavaScript နှင့် တွဲဖက်. Conjunction တွင် Conce Interaction လုပ်ဆောင်ချက်များကိုအလွယ်တကူရရှိနိုင်ပါသည်။