လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> GD စာကြည့်တိုက်တွင်အကောင်အထည်ဖော်မှုယန္တရားအတွင်းရှိ imagecolorresolve ()

GD စာကြည့်တိုက်တွင်အကောင်အထည်ဖော်မှုယန္တရားအတွင်းရှိ imagecolorresolve ()

M66 2025-05-30

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

အခြေခံအသုံးပြုမှုဥပမာများ

ပထမ ဦး စွာအခြေခံအသုံးပြုမှုကိုကြည့်ကြစို့။

 <?php
// palette image တစ်ခုဖန်တီးပါ
$image = imagecreate(100, 100);

// အရောင်များကို assign
$white = imagecolorallocate($image, 255, 255, 255);
$red = imagecolorallocate($image, 255, 0, 0);
$blue = imagecolorallocate($image, 0, 0, 255);

// အခုငါအနီရောင်နဲ့နီးနီးကပ်ကပ်အရောင်ကိုရှာချင်တယ်
$colorIndex = imagecolorresolve($image, 250, 10, 10);

echo "အရောင်အညွှန်းကိန်းသည်တွေ့ရှိသည်:$colorIndex";

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

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

ဤဥပမာတွင်ကျွန်ုပ်တို့သည် (250, 10, 10, 10) နှင့်နီးသောအရောင်ကိုရှာလိုကြသည်။ Image Palette တွင် (255,000, 0, 0) အနီရောင်, image calette တွင်အနီရောင်,

သင်သာဆိုင်သောဥပမာများကိုပိုမိုသိလိုပါက တရားဝင် M66.net စာရွက်စာတမ်းများကို သင်ရည်ညွှန်းနိုင်သည်။

ပြည်တွင်းရေးယန္တရားထုတ်ဖေါ်

ဒါကြောင့် ISESECOSORRESOLVEL () သည် အ 0 တ်ဆင်ကိုက်ညီမှုကိုမည်သို့အောင်မြင်ရန်လဲ။

1 ။ palette search

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

2 ။ အရောင်ခြားနားချက်တွက်ချက်မှုနည်းလမ်း

အရောင်ကွဲပြားခြားနားမှုများကိုယေဘုယျအားဖြင့် ယူကလစ်၏အကွာအဝေး ကတွက်ချက်သည်။ ပုံသေနည်းသည်အောက်ပါအတိုင်းဖြစ်သည် -

 distance = (r1 - r2)2 + (g1 - g2)2 + (b1 - b2)2

ဘယ်မှာ (R1, G1, B1) သည် Target အရောင်နှင့် (R2, G2, B2) သည် palette တွင်အရောင်ဖြစ်သည်။

ဤနည်းလမ်းသည်စတုရန်းမိုင်းမဟုတ် (အဘယ်ကြောင့်ဆိုသော်၎င်းသည်အရွယ်အစားနှင့်နှိုင်းယှဉ်လျှင်စတုရန်းနှင့်နှိုင်းယှဉ်ပါကစွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သည်),

3 ။ အတိအကျကိုက်ညီမှုပိုကောင်းအောင်

အရောင်များသည် traversal (i.e. အစိတ်အပိုင်းသုံးခုသည် အတူတူပင်ဖြစ်သည် ကိုသင်တွေ့ရှိပါက GD စာကြည့်တိုက်သည်ချက်ချင်းရှာဖွေခြင်းကိုရပ်တန့်ပြီးအရောင်အညွှန်းကိန်းသို့ပြန်သွားလိမ့်မည်။ ဤသည်အလွန်အမင်းစွမ်းဆောင်ရည်တိုးတက်လာသည်။

4 ။ palette extension

ကိုက်ညီသည့်အရောင်အတိအကျကိုမတွေ့ရှိပါက palette အတွက်နေရာတစ်နေရာရှိပါက isagecolorresolve () သည် အရောင်အသစ်တစ်ခုကိုတိုက်ရိုက်သတ်မှတ်နိုင်သည်။ ဤအပြုအမူသည် isolorecoloranation နေရာ နှင့်ဆင်တူသည်, သို့သော် palette အပြည့်အ 0 သည်အပြည့်အဝရှိပြီးအနီးဆုံးအရောင်ကိုသာရွေးချယ်နိုင်သည်။

စွမ်းဆောင်ရည်ထည့်သွင်းစဉ်းစား

  • ကြီးမားသော palette ကြီးမားသော palette နှင့်အတူပုံရိပ်တွေအတွက် isagecolorresolve () အနည်းငယ်နှေးကွေးလိမ့်မည်ကြောင့်၎င်းသည်အရောင်အားလုံးမှတဆင့်ကြားဖြတ်ရန်လိုအပ်သည်။

  • isaecolorresolveolveolve () ခေါ်ဆိုမှုအရေအတွက်ကိုလျှော့ချနိုင်ရန်အတွက်ပရိုဂရမ်များထိရောက်မှုကိုတိုးတက်စေရန် Color အရောင်အညွှန်းများကိုကြိုတင်ပြင်ဆင်နိုင်သည်။

အကျဉ်းချုပ်

Imagecolorresolve () GD စာကြည့်တိုက်တွင်အထူးသဖြင့် GD စာကြည့်တိုက်တွင်အရေးကြီးသောအခန်းကဏ် plays မှပါ 0 င်သည်။ ၎င်းသည်ရိုးရှင်းသော်လည်းအကျိုးရှိစွာအရောင်နှင့်ကိုက်ညီသောအရောင်နှင့်ကိုက်ညီသောအရောင်များကိုအရောင်အသွေးစုံလင်သောပတ်ဝန်းကျင်တွင်ပင်အရောင်များကိုတွေ့ရှိနိုင်သည်။
မည်သို့အလုပ်လုပ်သည်ကိုနားလည်ခြင်းသည်ရုပ်ပုံပြုပြင်ခြင်းအစီအစဉ်များကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းနှင့်စနစ်စွမ်းဆောင်ရည်ကိုတိုးတက်အောင်ကူညီလိမ့်မည်။