လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Image Color ကို isagecolorresolve () နှင့် Imagesetpixel နှင့်ပေါင်းစပ်ညှိနှိုင်းနည်း

Image Color ကို isagecolorresolve () နှင့် Imagesetpixel နှင့်ပေါင်းစပ်ညှိနှိုင်းနည်း

M66 2025-05-30

PHP တွင်ရုပ်ပုံများကိုလုပ်ဆောင်သောအခါတစ်ခါတစ်ရံတွင်တိကျသော areas ရိယာများကိုပြုပြင်ခြင်း, နောက်ခံများကိုအစားထိုးခြင်း, ဤအခြေအနေတွင် isagecolorresolveoll () နှင့် Imagesetpixel () သည်အလွန်လက်တွေ့ကျတဲ့အတွဲများဖြစ်သည်။

ISEACOSORRESOLVE ကိုနားလည်သည်။

ISACECOSOLORESOLVELESOLVES () function ၏ function သည်ရှိပြီးသားပုံသဏ် into ာရေးအရင်းအမြစ်တွင်သတ်မှတ်ထားသောအရောင် (RGB) နှင့်အနီးဆုံးဖြစ်သောအရောင်အသွေးကိုရှာဖွေရန်ဖြစ်သည်။ အကယ်. ၎င်းကိုမတွေ့နိုင်ပါက၎င်းသည်အရောင်အသစ်တစ်ခုကိုသတ်မှတ်ရန်ကြိုးစားလိမ့်မည်။ ဤအရာသည် ISESECOLORALORALANALALALANEARALALALALALALALALANEALEALEALEALEATEATE () တစ်ခုတည်းကိုသာအသုံးပြုခြင်းထက် ပို. ပြောင်းလွယ်ပြင်လွယ်သည်။

function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 int imagecolorresolve ( GdImage $image , int $red , int $green , int $blue )
  • $ Image : Image image အရင်းအမြစ်

  • $ အနီရောင် , $ အစိမ်းရောင် , $ အပြာ : ရှာဖွေရန်သို့မဟုတ်ဖန်တီးရန်အရောင်ပါဝင်ပစ္စည်းများ

Imagesetpixel ကိုနားလည်သည် ()

Imagesetpixel () ကို pixel တစ်ခု၏အရောင်, function ရှေ့ပြေးပုံစံကိုသတ်မှတ်ရန်အသုံးပြုသည်။

 bool imagesetpixel ( GdImage $image , int $x , int $y , int $color )
  • $ Image : Image image အရင်းအမြစ်

  • $ x , $ y : pixel ကိုသွဒီနိတ်များသတ်မှတ်ထားရန်

  • $ အရောင် : အရောင်အညွှန်းကိန်း ( isologecolorate () , imagecolorresolve () စသည်)

လက်တွေ့ကျသောလျှောက်လွှာဥပမာ

ငါတို့မှာပုံရိပ်တစ်ခုရှိတယ်ဆိုပါစို့။ ပုံရိပ်ထဲမှာ account (50,50,50)) ကိုအပြာရောင်နဲ့ (150,50,50) ) ကိုပြန်ပြောင်းချင်ပါတယ်။

ငါတို့လုပ်နိုင်တယ် -

 <?php
// ဓာတ်ပုံများတင်နေသည်
$imagePath = 'https://m66.net/uploads/sample.png';
$image = imagecreatefrompng($imagePath);

if (!$image) {
    die('无法ဓာတ်ပုံများတင်နေသည်');
}

// ပစ်မှတ်အရောင်:အပြာရောင်အလင်း (R:173, G:216, B:230)
$newColor = imagecolorresolve($image, 173, 216, 230);

// loop အစားထိုး (50,50) ရောက်လာ (150,150) area ရိယာ၏ pixels
for ($x = 50; $x <= 150; $x++) {
    for ($y = 50; $y <= 150; $y++) {
        imagesetpixel($image, $x, $y, $newColor);
    }
}

// 输出结果ရောက်လာ浏览器
header('Content-Type: image/png');
imagepng($image);

// မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($image);
?>

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

  • image permissions : မင်းရဲ့ပုံရိပ်ကိုလက်လှမ်းမီနိုင်အောင်သေချာအောင်လုပ်ပါ

  • အရောင်အရေအတွက်ကန့်သတ်ချက် - Palette ပုံရိပ်များအတွက် PHP ၏ GD စာကြည့်တိုက်သည်အရောင် 256 အထိသာအသုံးပြုနိုင်သည်။ အကယ်. ၎င်းသည် ISEACOSORRESOLELELE () ထက်ကျော်လွန်ပါကရရှိနိုင်သောအနီးဆုံးအရောင်ကိုပြန်ပို့နိုင်သည်။

  • စွမ်းဆောင်ရည်ပြ issues နာများ - Imagesetpixel ကို အသုံးပြု. ကြီးမားသောအတိုင်းအတာဖြင့်အသုံးပြုခြင်းသည်နှေးကွေးလိမ့်မည်။ အကယ်. သင်သည်ကြီးမားသော area ရိယာ pixels ကိုထိရောက်စွာလုပ်ဆောင်ရန်လိုအပ်ပါက imageflectedanglemangle () ကို တိုက်ရိုက်အသုံးပြုခြင်းသို့မဟုတ်ပုံရိပ်ဒေတာ (ဥပမာ image data) ကိုအသုံးပြုခြင်းကိုစဉ်းစားသင့်သည်။

  • Format Support : ဥပမာအားဖြင့် PNG ကိုအသုံးပြုသည်။ ဟုတ်ပါတယ်, imagecreatjpeg () , imagecreatjif () , အခြားပုံစံများကိုကိုင်တွယ်ရန်အခြားလုပ်ဆောင်ချက်များကိုလည်းသုံးနိုင်သည်။

အကျဉ်းချုပ်

Imagecolorresolve နှင့်အတူ () ကျွန်ုပ်တို့သည်အရောင်ကိုက်ညီခြင်းနှင့်ခွဲဝေချထားပေးခြင်းဆိုင်ရာပြ issues နာများကိုပြောင်းလွယ်ပြင်လွယ်ဖြစ်စေသောအရောင် နှင့်ခွဲဝေ ချထားပေးခြင်းကိုလွယ်ကူစွာကိုင်တွယ်နိုင်သည်။ ဤပေါင်းစပ်မှုသည်ပုံရိပ်ပြုပြင်ခြင်း, ဒေသတွင်းပြုပြင်မွမ်းမံမှုနှင့်ပြောင်းလဲနေသောရုပ်ပုံများကဲ့သို့သောမြင်ကွင်းများအတွက်အလွန်သင့်လျော်သည်။