လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ISESECOSORRESOLVEL () နှင့် imagecoloralume () အကြားခြားနားချက်နှင့်ရွေးချယ်မှု ()

ISESECOSORRESOLVEL () နှင့် imagecoloralume () အကြားခြားနားချက်နှင့်ရွေးချယ်မှု ()

M66 2025-05-30

PHP ၏ GD စာကြည့်တိုက်စာကြည့်တိုက်, imagecolorresolove () နှင့် imagecolorallase () ကို အသုံးပြု. ပုံများပြုပြင်ခြင်းများပြုလုပ်သောအခါအသုံးပြုမှုနှစ်ခုကိုမကြာခဏကြုံတွေ့ရသည်။ သူတို့အားလုံးသည်အရောင်နှင့်သက်ဆိုင်သောအရာများဖြစ်သော်လည်းသူတို့၏အမှန်တကယ်အသုံးပြုမှုနှင့်အကျိုးသက်ရောက်မှုများကွဲပြားသည်။ ၎င်းတို့အကြားခြားနားချက်ကိုနားလည်ခြင်းသည်ဖွံ့ဖြိုးတိုးတက်ရေးလုပ်ငန်းစဉ်အတွင်းပိုမိုသင့်တော်သောနည်းလမ်းများကိုရွေးချယ်ခြင်းနှင့်ပုံရိပ်ပြုပြင်ခြင်း၏အရည်အသွေးကိုတိုးတက်စေရန်ကျွန်ုပ်တို့အားပိုမိုသင့်တော်သောနည်းလမ်းများကိုရွေးချယ်ရန်ကူညီလိမ့်မည်။

1 ။ imagecoloranation နေရာ ()

Imagecolorallallallation () ပုံတစ်ပုံတွင် အရောင်အသစ်တစ်ခုကိုသတ်မှတ်ရန် အသုံးပြုသည်။ ရိုးရိုးရှင်းရှင်းပြောရလျှင်၎င်းသည်ရုပ်ပုံ၏ palette သို့အရောင်ထည့်ပြီးအရောင်၏အမှတ်အသားကိုပြန်ပို့ရန်ဖြစ်သည်။

အကယ်. ရုပ်ပုံသည် palette-based (ဥပမာ 8-bit png or gif ကဲ့သို့သော) တိုင်းအရောင်အသစ်တစ်ခုသတ်မှတ်ထားသည့်အခါတိုင်းပြည်တွင်းရေးရာစွမ်းရည်များ (များသောအားဖြင့်အရောင် 256 ခု) ကိုရောက်ရှိသည်အထိပြည်တွင်းရေး palette တွင်စံချိန်တင်ထည့်သွင်းထားသည်။ အကယ်. palette အပြည့်အဝပြည့်ဝလျှင်, imagecolorallallallation ပြောင်းခြင်း () မှားယွင်းစွာ ပြန်လာလိမ့်မည်။

နမူနာကုဒ်:

 <?php
$image = imagecreate(100, 100); // a 100x100 ကွက်လပ်ဓာတ်ပုံများ
$red = imagecolorallocate($image, 255, 0, 0); // အနီရောင် assign
imagefill($image, 0, 0, $red); // နောက်ခံအနီရောင်နှင့်အတူဖြည့်ပါ
imagepng($image, 'https://m66.net/upload/red.png');
imagedestroy($image);
?>

အထက်ပါကုဒ်တွင် PHP ကိုအတိအလင်းပြောပြရန်နှင့် Palette တွင်တာဝန်ပေးအပ်မည့်အနီရောင်အသစ်စက်စက်အသစ်တစ်ခုကိုကျွန်ုပ်တို့လိုအပ်သည်ဟုအတိအလင်းပြောပြသည်။

2 ။ ISESECOSORRESOLVED ()

Imagecolorresolve () ကို ပေးထားသော RGB တန်ဖိုးနှင့်အနီးဆုံးအရောင်များကိုရှာဖွေရန် အသုံးပြုသည်။ တည်ရှိပါက၎င်းသည်ရှိပြီးသားအရောင် ID ကိုပြန်လည်ရောက်ရှိစေသည်။ အနီးကပ်မရှိလျှင်, palette အတွက်နေရာရှိ၏, ၎င်းသည်အရောင်အသစ်တစ်ခုကိုသတ်မှတ်လိမ့်မည်။

ဆိုလိုသည်မှာ၎င်းသည်အရောင်အသစ်များ၏မလိုအပ်သောဖြည့်တင်းမှုကိုပိုမိုအသုံးမ 0 င်သောကြောင့်ရှိပြီးသားအရောင်များကို ဦး စားပေးဆောင်ရွက်သည်။ ထို့ကြောင့် Palette အရင်းအမြစ်များကိုပိုမိုထိရောက်စွာအသုံးပြုနိုင်သည်။

နမူနာကုဒ်:

 <?php
$image = imagecreate(100, 100); // a 100x100 ကွက်လပ်ဓာတ်ပုံများ
$red = imagecolorresolve($image, 254, 1, 1); // အနီရောင်နှင့်နီးသောအရောင်ကိုရှာပါ
imagefill($image, 0, 0, $red); // နောက်ခံကိုတွေ့ရှိသောအရောင်များနှင့်ဖြည့်ပါ
imagepng($image, 'https://m66.net/upload/resolved_red.png');
imagedestroy($image);
?>

သတိပြုရန်မှာ isagecolorresolve () သည် သတ်မှတ်ထားသောအရောင် နှင့်နီးကပ်ရန် မလိုအပ်ပါ။

3 ။ ရွေးချယ်နည်း?

စိတ်ကူးယဉ် () သို့မဟုတ် isagecolorresolve () ကိုရွေးချယ်ခြင်း () သင်၏လိုအပ်ချက်များပေါ်တွင်မူတည်သည်။

  • အကယ်. သင်သည်အရောင်ဖျော့ဖျော့ကိုသည်းခံနိုင်သည့် သေချာသည့်နှင့်တိကျသော အရောင်လိုအပ်ပါက imagecolorallate () ကို ရွေးချယ်ပါ။

  • အကယ်. သင်သည် palette အရင်းအမြစ်များကိုသိမ်းဆည်းရန် နှင့်လက်ရှိအရောင်များကိုတတ်နိုင်သမျှအမြန်ဆုံးပြန်လည်သုံးသပ်လိုပါက isagecolorresolve () ကိုရွေးပါ။

ယေဘူယျအားဖြင့်ပြောရလျှင်, ပုံတစ်ပုံရှိအရောင်များသည်ကြီးမားလွန်းလိမ့်မည်မဟုတ်ကြောင်းသင်သိပါက , အကယ်. ပုံသည်အရောင်နှင့်ကြွယ်ဝပါကသို့မဟုတ် GIFs ကဲ့သို့သောအရောင်များကိုကန့်သတ်ထားသည့်ရုပ်ပုံများကိုသင်လုပ်ဆောင်နေသည်

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

အလုပ်လုပ်တဲ့အချက်များ imagecoloranation () imagecolorresolve ()
ရည်ရွယ်ချက် အရောင်အသစ်တစ်ခုကိုသတ်မှတ်ပါ ရှိပြီးသားအနီးကပ်အရောင်များကို သုံး. လိုအပ်ပါက၎င်းတို့ကိုသတ်မှတ်ပါ
palette ဖိအား ကြီးမားသော (ဖြိုဖျက်ခြင်း) အသေးစား (တတ်နိုင်သမျှပြန်လည်သုံးသပ်)
ကြည့်ရှုပါ တိကျသောအရောင်ထိန်းချုပ်မှုမြင်ကွင်းများ အရောင်အရင်းအမြစ်များကိုသိမ်းသောမြင်ကွင်းများ

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤလုပ်ဆောင်ချက်နှစ်ခုအကြားခြားနားချက်ကိုကျွမ်းကျင်စေခြင်းကသင်၏ပုံရိပ်ထုတ်ယူမှုအစီအစဉ်ကိုထိရောက်စွာတည်ငြိမ်စေနိုင်သည်။