လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Autofill undefined အရောင်များ: compine isagecolorresolve () နှင့် imagecolorallate ()

Autofill undefined အရောင်များ: compine isagecolorresolve () နှင့် imagecolorallate ()

M66 2025-05-18

PHP တွင်အရောင်စီမံခန့်ခွဲမှုသည်ရုပ်ပုံများကိုပြုပြင်သည့်အခါအရေးပါသောအပိုင်းဖြစ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်အရောင်အသစ်တစ်ခုကိုသတ်မှတ်ရန်အရောင်အသစ်တစ်ခုကိုသတ်မှတ်ရန် (သို့) ISESECOLORSOLVACE () ကို သုံးပါ။ Image တွင်အချို့သောဒေသများ၏အရောင်ကိုဖြည့်ရန်လိုအပ်ပါကဤအရောင်သည်ကြိုတင်မဲမသတ်မှတ်နိုင်ပါကဤအရောင်များကိုကြိုတင်သတ်မှတ်ထားသောအရောင်များကိုအလိုအလျောက်ဖြည့်ဆည်းရန်ပေါင်းစပ်နိုင်သည်။

ဒီဆောင်းပါးမှာဒါကို agrecolorresolveoll () နဲ့ isagecolorallase () နဲ့ဘယ်လိုအောင်မြင်အောင်လုပ်ရမယ်ဆိုတာကိုပြသပြီး pixel တစ်ခုချင်းစီကိုအရောင်တွေကိုမှန်ကန်စွာသတ်မှတ်နိုင်အောင်သေချာအောင်လုပ်မယ်။

နောက်ခံဗဟုသုတ

  1. iscecoecolorresolve () - ဤလုပ်ဆောင်မှုသည်လက်ရှိပုံတွင်သတ်မှတ်ထားသောအရောင်နှင့်အတူအရောင်အညွှန်းကိန်းကိုပြန်ပို့သည်။ အကယ်. အရောင်သည်ပုံတွင်မတည်ရှိပါက -1 သို့ပြန်လည်ရောက်ရှိသည်။

  2. imagecoloranation () : ဒီ function ကို image မှအရောင်သတ်မှတ်ပြီးအရောင်၏အညွှန်းကိန်းကိုပြန်သွားသည်။ အကယ်. အရောင်တည်ရှိပြီးပါက၎င်းသည်သက်ဆိုင်ရာညွှန်းကိန်းကိုပြန်လည်ရောက်ရှိသည်။

မြင်ကွင်းဖော်ပြချက်

ကျွန်ုပ်တို့သည်ပုံတစ်ပုံကိုဖန်တီးနေကြောင်းနှင့်သတ်မှတ်ထားသောအရောင်အချို့ရှိသည်ဆိုပါစို့။ ဤအရောင်များကိုအချိန်တိုင်းအဓိပ္ပာယ် ဖွ င့်ဆိုခြင်းကိုရှောင်ရှားရန်, အကယ်. အရောင်တည်ရှိပြီးပါကကျွန်ုပ်တို့သည် ISEACOSORRESOLVELVE () ကိုအညွှန်းကိန်းရရှိရန်အသုံးပြုသည်။ အရောင်မတည်ရှိပါကကျွန်ုပ်တို့သည်အရောင်အသစ်တစ်ခုကိုသတ်မှတ်ရန် စိတ်ကူးယဉ်ပုံ () ကို အသုံးပြုသည်။

နမူနာကုဒ်

 <?php
// အလွတ်တစ်ခုဖန်တီးပါ
$image = imagecreatetruecolor(200, 200);

// အရောင်ထားပါ
$backgroundColor = imagecolorallocate($image, 255, 255, 255); // အဖြူရောင်နောက်ခံ
imagefill($image, 0, 0, $backgroundColor);

// အရောင်ဖြည့်ပါ
$colorToFill = [100, 150, 200]; // RGBအဘိုး
$colorIndex = imagecolorresolve($image, $colorToFill[0], $colorToFill[1], $colorToFill[2]);

// အရောင်သတ်မှတ်မထားဘူးဆိုရင်,အသုံးပြု imagecolorallocate ဒီအရောင်ကိုဖန်တီးပါ
if ($colorIndex == -1) {
    $colorIndex = imagecolorallocate($image, $colorToFill[0], $colorToFill[1], $colorToFill[2]);
}

// ပြည့်စုံအရောင်များနှင့်အတူစတုဂံဆွဲပါ
imagefilledrectangle($image, 50, 50, 150, 150, $colorIndex);

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

code parsing

  1. Image Creation : 200x200 ၏အလွတ်တစ်ခုဖန်တီးရန်ပထမ ဦး စွာ imagecreatetuecolor () ကို သုံးပါ။

  2. နောက်ခံအရောင်သတ်မှတ်ခြင်း - အဖြူရောင်နောက်ခံအရောင်ကိုဖန်တီးရန် ပုံရိပ် အရောင်တစ်ခုဖန်တီးရန်နှင့်ပုံရိပ်တစ်ခုလုံးကို image for letter နှင့်ဖြည့်ပါ။

  3. အရောင်ဖြည့်စွက် : ကျွန်ုပ်တို့သည် RGB တန်ဖိုးကိုသတ်မှတ်ခြင်း [100, 150, 200, 200] နှင့် ISESECOSORRESOLVE () ကိုအသုံးပြုသည်။ အရောင်မတည်ရှိပါက isagecolorresolve () ပြန်လာလိမ့်မည် ဤအချိန်၌ကျွန်ုပ်တို့သည်ဤအရောင်အသစ်ကိုသတ်မှတ်ရန် ISESECOLORALANEALALALANEALEALEALEATEATE () ကို အသုံးပြုသည်။

  4. ပုံတစ်ပုံပေါ်ရှိစတုဂံပုံဆွဲရန်ပုံရိပ်ကိုပုံဆွဲပါ ဖြည့်အရောင်သည်ကျွန်ုပ်တို့ဆုံးဖြတ်လိုက်သောအရောင်အညွှန်းကိန်းဖြစ်သည်။

  5. Output image : နောက်ဆုံးတော့ ImagePng () ကိုအသုံးပြုပြီးပုံရိပ်တွေကို output လုပ်ပြီး ImageDestroy () ကိုလွှတ်ပေးဖို့ပုံရိပ်အရင်းအမြစ်တွေကိုဖျက်ဆီးပစ်လိုက်တယ်။

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

  • GD စာကြည့်တိုက်ကိုအသုံးပြုသောအခါ imagecolorresolve () နှင့် imagecolorallallation () သာတရားဝင်သည်။ အကယ်. သင်၏ PHP ပတ်ဝန်းကျင်တွင် GD စာကြည့်တိုက်တွင် GD စာကြည့်တိုက်တွင်ဖွင့်ထားပါကတိုးချဲ့ရန်နှင့် Extension ကိုသေချာအောင်လုပ်ပါ။

  • ISESECOSORRESOLVELE () အရောင်များကိုရှာဖွေခြင်းသည်ပုံ၏အရောင်ပြင်ဆင်မှုဖြင့်ကန့်သတ်နိုင်သည်။ အကယ်. ပုံကို palette mode တွင်ဖန်တီးပါကအရောင်များကိုရှာဖွေခြင်းနှင့်တာ 0 န 0 င်ခြင်းတို့သည်စစ်မှန်သောအရောင် mode နှင့်ကွဲပြားနိုင်သည်။

အကျဉ်းချုပ်

ISESECOSORRESOLVELESOULE () နှင့် imagecoloranation ကို ပေါင်းစပ်ခြင်းအားဖြင့်သင်သည်သင်၏ပုံတွင်အရောင်ခွဲဝေချထားပေးခြင်းအားဖြင့်၎င်းတို့ကိုဖြည့်ရန်လိုအပ်သောအခါ undefined အရောင်များကိုအလိုအလျောက်အသိအမှတ်ပြုခြင်းနှင့်ဖြည့်ဆည်းပေးနိုင်သည်။ ၎င်းသည်ကုဒ်၏ထိန်းသိမ်းမှုကိုတိုးတက်စေရုံသာမကမလိုအပ်သောအဓိပ္ပာယ်ဖွင့်ဆိုချက်ကိုမလိုအပ်သောပုံတူကူးယူခြင်းနှင့်စွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။