PHP image processing စဉ်အတွင်းကျွန်ုပ်တို့သည်အရောင်များကိုခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည့်အခြေအနေများမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ပုံများပေါ်တွင်အရောင်များကိုတိကျစွာရှာဖွေရန် (သို့) ထုတ်လုပ်ရန် PHP သည်ဤလုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်ကူညီရန်လုပ်ဆောင်ချက်များကိုပေးသည်။ ၎င်းတို့အနက်, Imagecoloresolveolveolve () , imagecolorexact () နှင့် isagecolorcact () နှင့် is imagecrocolorclosest () သည်အသုံးများသောလုပ်ဆောင်ချက်သုံးခုဖြစ်သည်။ ဒီတော့ဒီလုပ်ဆောင်ချက်သုံးခုနဲ့အသင့်တော်ဆုံးကိုဘယ်လိုရွေးချယ်ရမလဲဆိုတာဘယ်လိုကွာခြားသလဲ။ ကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်မှုများအကြားကွဲပြားခြားနားမှုများကိုအသေးစိတ်ခွဲခြမ်းစိတ်ဖြာပြီးသူတို့၏လက်တွေ့ကျသော application scarios များကိုဆွေးနွေးပါမည်။
isionecolorresolve () function ကို RGB တန်ဖိုးရှိရှိပုံရိပ်တစ်ခု၏ palette မှအနီးဆုံးအရောင်ကိုရှာဖွေရန်အသုံးပြုသည်။ အကယ်. ပုံသည် palette ကိုအသုံးပြုနေသည် (GIF Image သို့မဟုတ် palette ပါသည့် PNG ရုပ်ပုံကဲ့သို့) ဤလုပ်ဆောင်ချက်သည် palette တွင်အနီးဆုံးအရောင်ကိုရှာဖွေသည်။
imagecolorresolve($image, $r, $g, $b);
$ Image : Image image အရင်းအမြစ်, များသောအားဖြင့် isionecreatcher * () function ကိုမှတဆင့်ဖန်တီးထားသောပုံရိပ်။
$ R : အနီရောင်တန်ဖိုးကိုရှာတွေ့ရန်။
$ g : အစိမ်းရောင်တန်ဖိုးကိုတွေ့ရှိရလိမ့်မည်။
$ B : တွေ့ရှိရမည့်အပြာရောင်တန်ဖိုး။
$image = imagecreatefrompng('example.png');
$index = imagecolorresolve($image, 255, 0, 0); // အနီရောင်ကိုအနီးဆုံးအရောင်ကိုရှာပါ
RGB တန်ဖိုးနှင့်အနီးဆုံးဘဲ palette တွင်အရောင်အညွှန်းကိန်းကိုပြန်ပို့သည် ။ မတွေ့ပါက၎င်းသည် -1 သို့ပြန်သွားသည်။
သတ်မှတ်ထားသော RGB တန်ဖိုးနှင့်ကိုက်ညီသောအရောင်များကိုရှာဖွေရန် စိတ်ကူးကြည့်ECOLOorexact () function ကိုအသုံးပြုသည်။ Image's palette တွင်ကိုက်ညီသောအရောင်အတိအကျရှိသောအရောင်ရှိပါက၎င်းအရောင်၏အညွှန်းကိန်းကိုပြန်ပို့သည်။ ကိုက်ညီသောအရောင်အတိအကျကိုမတွေ့ပါက -1 ကိုပြန်သွားပါ။
imagecolorexact($image, $r, $g, $b);
$ Image : Image image အရင်းအမြစ်။
$ R , $ g , $ b : အနီရောင်, အစိမ်းနှင့်အပြာရောင်တန်ဖိုးများကိုသတ်မှတ်ထားသော။
$image = imagecreatefrompng('example.png');
$index = imagecolorexact($image, 255, 0, 0); // အနီရောင်နှင့်ကိုက်ညီသောအရောင်များကိုရှာပါ
အကယ်. ရုပ်ပုံ၏ palette တွင်ကိုက်ညီသောအရောင်အတိအကျရှိပါက Imagecolorexact () သည် ထိုအရောင်၏အညွှန်းကိန်းကိုပြန်ပို့သည်။ ကိုက်ညီတဲ့အရောင်အတိအကျမရှိရင် -1 ပြန်ရောက်သွားတယ်။
အဆိုပါ imagecolorclowest () function ကို isionecolorresolve () နှင့်ဆင်တူသည်နှင့် palette အတွက်သတ်မှတ်ထားသောအရောင်နှင့်အနီးဆုံးအရောင်ကိုရှာဖွေရန်အသုံးပြုသည်။ သို့သော် ISESECOSOLORESOLVEVELE () , isagecolorclosest () သည် 24-bit trual Images ကဲ့သို့သော palette မှလွဲ. အရောင်များကိုလက်ခံနိုင်သည်။
imagecolorclosest($image, $r, $g, $b);
$ Image : Image image အရင်းအမြစ်။
$ R , $ g , $ b : အနီရောင်, အစိမ်းနှင့်အပြာရောင်တန်ဖိုးများကိုသတ်မှတ်ထားသော။
$image = imagecreatefrompng('example.png');
$index = imagecolorclosest($image, 255, 0, 0); // အနီရောင်ကိုအနီးဆုံးအရောင်ကိုရှာပါ
imagecolorclosest () အရောင်မဟုတ်သောအရောင်များအတွက်သင့်လျော်သောအရောင်အညွှန်းကိန်းကိုပြန်လည်ရောက်ရှိသည်။
function name | အသုံးပြု | Value ကိုပြန်သွားပါ |
---|---|---|
imagecolorresolve () | သတ်မှတ်ထားသော RGB တန်ဖိုးကိုအနီးဆုံးအရောင် palette ကိုရှာပါ | မတွေ့ရှိပါကအရောင်အညွှန်းကိန်းကိုပြန်ပို့ပါ ။ |
imagecolorexact () | သတ်မှတ်ထားသော RGB တန်ဖိုးကိုအတိအကျကိုက်ညီသော palette အရောင်များကိုရှာပါ | မတွေ့ရှိပါကအရောင်အညွှန်းကိန်းကိုပြန်ပို့ပါ ။ |
imagecolorclowest () | သတ်မှတ်ထားသော RGB တန်ဖိုးနှင့်အနီးဆုံးအရောင်ကိုရှာပါ, palette မဟုတ်သောရုပ်ပုံများကိုပံ့ပိုးသည် | မတွေ့ရှိပါကအရောင်အညွှန်းကိန်းကိုပြန်ပို့ပါ ။ |
အကယ်. သင်သည် palette image တွင်သတ်မှတ်ထားသော RGB တန်ဖိုးနှင့်အနီးဆုံးအရောင်နှင့်အနီးဆုံးအရောင်ကိုရှာဖွေရန်လိုအပ်ပါက၎င်းကိုအတိအကျကိုက်ညီမှုရှိပါကဂရုမစိုက်ပါ ။ GIF, Indexed PNG, စသည်တို့အတွက်အရောင် palette ကိုအသုံးပြုသောပုံများအတွက်သင့်တော်သည်။
အကယ်. သင်သည် palette တွင်အရောင်များကိုရှာဖွေလိုပါကအတိအကျကိုက်ညီမှုမရှိပါက၎င်းကိုအတိအကျမလုပ်ဆောင်ပါကသင် စိတ်ကူးယဉ်ဆန်သော () ကို သုံးနိုင်သည်။ ဤလုပ်ဆောင်ချက်သည်အရောင်တိကျမှန်ကန်မှုအတွက်မြင့်မားသောလိုအပ်ချက်များနှင့်အတူမြင်ကွင်းများအတွက်သင့်လျော်သည်, ဒါပေမယ့်ပုံရိပ်တွေကိုက်ညီတဲ့အရောင်အတိအကျရမယ်လို့ဆိုပါတယ်။
အကယ်. သင်သည် palette မဟုတ်သောရုပ်ပုံများ (ဥပမာစစ်မှန်သောပုံရိပ်များကဲ့သို့သော) ကိုကိုင်တွယ်ဖြေရှင်းပါကသို့မဟုတ်သင်အနီးဆုံးအရောင်ကို ပုံရိပ် အမျိုးအစားမဆိုရှာဖွေနိုင်သည့် RGB တန်ဖိုးကိုရှာဖွေလိုပါကပိုမိုသင့်လျော်ပါလိမ့်မည်။ ၎င်းသည် 24-bit True Color Images များကိုထုတ်လုပ်ရန်အတွက်သင့်တော်ပြီးအနီးဆုံးအရောင်ကိုရှာဖွေရန်သင့်တော်သည်။
အကယ်. palette, isagecolorresolve () နှင့် imagecolorexact () ကို အသုံးပြု. ပုံများနှင့်ပုံဖော်ခြင်းများကိုသင်ကိုင်တွယ်နေပါကယခင်က ပို. လျော့နည်းပြီးအဆုံးစွန်သည်ကိုက်ညီမှုရှိရန်လိုအပ်သည်။
palette မဟုတ်သောရုပ်ပုံများအတွက်သို့မဟုတ်အနီးဆုံးအရောင်ကိုသင်ရှာဖွေလိုပါက isagecolorclosest () သည် ပို. ပြောင်းလွယ်ပြင်လွယ်နှင့်သက်ဆိုင်သည်။
သင့်ပုံ၏အမျိုးအစားနှင့်လိုအပ်ချက်များကို အခြေခံ. အသင့်တော်ဆုံးလုပ်ဆောင်မှုကိုရွေးချယ်ခြင်းသည်သင်၏ပုံရိပ်၏လိုအပ်ချက်များနှင့်လိုအပ်ချက်များကို အခြေခံ. အရောင်များကိုပိုမိုထိရောက်စွာကိုင်တွယ်ဖြေရှင်းရန်ကူညီလိမ့်မည်။