PHP တွင်ပုံများနှင့်အလုပ်လုပ်သောအခါအရောင်မြေပုံများကိုပြောင်းလဲခြင်းသည်အလွန်လက်တွေ့ကျကျွမ်းကျင်မှုဖြစ်သည်။ အထူးသဖြင့်ကျွန်ုပ်တို့သည်ပုံအချို့ကို palette အခြေခံပုံရိပ်တွင်လျင်မြန်စွာပြောင်းလဲလိုပါကပုံရိပ်တစ်ခုလုံးကိုမလျှော့ချဘဲပုံဖော်ခြင်း, isagecoloret () နှင့် isagecolorresolve () အထူးသဖြင့်အရေးကြီးသောဖြစ်လာသည်။
ဤဆောင်းပါးသည်ပုံရိပ်အရောင်မြေပုံကိုပြုပြင်ပြောင်းလဲခြင်း၏အကျိုးသက်ရောက်မှုနှင့် တွဲဖက်. တွဲဖက်လုပ်ဆောင်မှုနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုသင်ပေးပါမည်။
imagecolorset (အရင်းအမြစ် $ image, int $ image, int $ အညွှန်း, int $ အစိမ်း, int $ အပြာ, int $ alpha = 0): Bool
ဤလုပ်ဆောင်ချက်သည်ပုံ palette တွင်အရောင်အညွှန်းကိန်း၏အရောင်တန်ဖိုးကိုတိုက်ရိုက်ပြုပြင်နိုင်သည်။ ဆိုလိုသည်မှာကိန်းဂဏန်းတွင် pixel သည်ဤအရောင်အညွှန်းကိုအသုံးပြုပါက၎င်း၏အရောင်သည်ချက်ချင်းပြောင်းလဲသွားလိမ့်မည်။
imagecolorresolve (အရင်းအမြစ် $ image, int $ image, int $ အစိမ်းရောင်,
ဤလုပ်ဆောင်ချက်သည် Image Palette တွင်သတ်မှတ်ထားသော RGB အရောင်နှင့်အနီးဆုံးအညွှန်းကိန်းကိုတွေ့ရှိရသည်။ ကိုက်ညီသည့်အရောင်အတိအကျကိုမတွေ့ရှိပါကအညွှန်းကိန်းအသစ်ကိုသတ်မှတ်ရန်ကြိုးစားသည်။
ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပထမ ဦး ဆုံးပြုပြင်မွမ်းမံလိုသောအရောင်ကိုရှာဖွေရန်ကျွန်ုပ်တို့အားအတူတကွအသုံးပြုနိုင်ပြီးအရောင်အသစ်ကိုပြောင်းလဲရန်ကျွန်ုပ်တို့အားအတူတကွအသုံးပြုနိုင်ရန်အတူတကွအသုံးပြုနိုင်သည်။
ငါတို့မှာရိုးရှင်းတဲ့ palette image ရှိတယ်ဆိုပါစို့။
<?php
// ရိုးရှင်းသော palette image တစ်ခုဖန်တီးပါ
$image = imagecreate(100, 100);
// ကန ဦး အရောင်သတ်မှတ်ပါ
$white = imagecolorallocate($image, 255, 255, 255); // နောက်ခံအရောင်:အဖြူ
$blue = imagecolorallocate($image, 0, 0, 255); // အရောင်ဖျောက်ပါ:ပြာသော
// 用ပြာသော画一个矩形
imagefilledrectangle($image, 10, 10, 90, 90, $blue);
// 动态找到ပြာသော的အရောင်အညွှန်းကိန်း
$targetIndex = imagecolorresolve($image, 0, 0, 255);
// အသုံးပြု imagecolorset 修改ပြာသော为နီသော色
// အဆိုပါ parameters တွေကိုဖြစ်ကြသည်:image အရင်းအမြစ်များ、အရောင်အညွှန်းကိန်း、နီသော、စိမ်းလန်းသော、ပြာသော、ပွင့်လင်းတင်
imagecolorset($image, $targetIndex, 255, 0, 0);
// browser မှ output ကိုပုံရိပ်
header('Content-Type: image/png');
imagepng($image);
// မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($image);
?>
ဤကုဒ်ကိုကွပ်မျက်ပြီးနောက်မူရင်းအပြာရောင်စတုဂံသည်အလွန်တောက်ပသောအနီရောင်စတုဂံလှည့်နေသည်ကိုသင်တွေ့လိမ့်မည်။
ဤနည်းလမ်းသည် palette ပုံရိပ်များ (I.E. palette အခြေခံပုံရိပ်များ) နှင့် ISEACREAKE () ဖြင့်ဖန်တီးထားသောရုပ်ပုံများကဲ့သို့သောရုပ်ပုံများကဲ့သို့သောရုပ်ပုံများ) နှင့်သာသက်ဆိုင်သည်။
စစ်မှန်သောအရောင်ပုံရိပ်များအတွက် ( ImagecreatetRuecolor () ) ကိုဖန်တီးသည်။
အကယ်. အလားတူမျိုးစုံရှိလျှင်ပုံတွင်တူညီသောအရောင်များမရှိပါက isaecolorresolve () ကိုအသုံးပြုသောအရောင်များသည်သင်မျှော်လင့်ထားသည့်အရောင်များကိုမဖြစ်နိုင်ပါ။
ဥပမာအားဖြင့်, သင် web စာမျက်နှာကိုရေးဆွဲလိုပါကအသုံးပြုသူများသည်ရုပ်ပုံ၏အရောင်ကိုပြောင်းလဲခြင်းဖြင့်ပြောင်းလဲရန်ခလုတ်ကို နှိပ်. ၎င်းကိုလက်အောက်ခံရန်ရိုးရှင်းသောပုံစံဖြင့်ပေါင်းစပ်ရန်အထက်ပါဖြေရှင်းချက်ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့်:
<form method="post" action="https://m66.net/change_color.php">
<input type="submit" name="change" value="အရောင်ပြောင်းပါ!">
</form>
ထို့နောက် dynamic color ပြောင်းလဲမှု၏အကျိုးသက်ရောက်မှုကိုအောင်မြင်ရန်ပုံကိုယခုပြုလုပ်ရန် script ကို အသုံးပြုပါ။
ပုံရိပ်အရောင်ဖြေရှင်းရန် () ကို ပေါင်းစပ်ခြင်းအားဖြင့် target color index ကိုရှာဖွေရန်နှင့်ထို့နောက် agrecolorset ကို အသုံးပြု. သက်ဆိုင်ရာအရောင်တန်ဖိုးကိုပြုပြင်ရန် dynamic image color အစားထိုးခြင်းကိုသဘောပေါက်ရန်အလွန်အဆင်ပြေသည်။ ဤနည်းပညာသည်ဂိမ်းမြေပုံများ, dynamic icon စိတ်ကြိုက်နှင့်အခြားအခြေအနေများကဲ့သို့သောပုံသေအရောင် area ရိယာကိုလျင်မြန်စွာပြောင်းလဲရန်လိုအပ်သည့်အခါအထူးသဖြင့်အသုံးပြုရန်လိုအပ်သည်။
သင်၏စီမံကိန်းသည်တက်ကြွသောပုံရိပ်များစွာကိုလုပ်ဆောင်ရန်လိုအပ်ပါကပိုမိုအားကောင်းသည့်အင်္ဂါရပ်များအတွက် GD သို့မဟုတ် Imagems ကဲ့သို့သောအဆင့်မြင့်ပုံရိပ်ထုတ်ခြင်းစာကြည့်တိုက်များဖြင့်၎င်းကိုအသုံးပြုရန်အကြံပြုသည်။