PHP တွင်ရုပ်ပုံများကိုပြုပြင်သည့်အခါ PHP တွင်ဓာတ်ပုံများပြုပြင်သည့်အခါ function သည် function ကို PHP တွင်လုပ်ဆောင်သောအခါအလွန်အသုံးဝင်သည်။ ဤလုပ်ဆောင်မှုဖြင့်ပုံတွင်တိကျသောအရောင်ကိုအရောင်ပြောင်းထားသောအရောင်တန်ဖိုးကိုရှာဖွေ။ အစားထိုးနိုင်သည်။ ဤဆောင်းပါးသည် Image Color အစားထိုးလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန် ISEACOSORESOLELEL () function ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။
Imagecolorresolve () PHP ရှိ GD စာကြည့်တိုက်၏တစ်စိတ်တစ်ပိုင်းဖြစ်သည်။ ၎င်း၏အဓိကရည်ရွယ်ချက်မှာပုံ၏ palette မှတိကျသောအရောင်ရရှိရန်နှင့်ထိုအရောင်၏အညွှန်းကိန်းကိုပြန်သွားရန်ဖြစ်သည်။ ၎င်းသည် pixel-level လုပ်ငန်းများအတွက်အထူးသဖြင့် GIF (သို့) PNG fem formats ကဲ့သို့သော indexed အရောင် mode များကိုကိုင်တွယ်ရာတွင်၎င်းသည်အလွန်အထောက်အကူပြုသည်။
int imagecolorresolve ( resource $image , int $r , int $g , int $b )
$ Image : Image image အရင်းအမြစ်, သင်ဖွင့်လိုသောပုံရိပ်ဖြစ်သည်။
$ R : ပစ်မှတ်အရောင် (0-255) ၏အနီရောင်အစိတ်အပိုင်း။
$ g : ပစ်မှတ်အရောင် (0-255) ၏အစိမ်းရောင်အစိတ်အပိုင်း။
$ B : ပစ်မှတ်အရောင် (0-255) ၏အပြာရောင်အစိတ်အပိုင်း။
ဒီ function ကို image palette အတွက်ပစ်မှတ်အရောင်၏အညွှန်းကိန်းတန်ဖိုးကိုပြန်ပို့ပေးသည်။ အကယ်. အရောင်သည် palette တွင်မတည်ရှိပါက function သည် -1 သို့ပြန်သွားသည်။
ရုပ်ပုံထဲရှိအရောင်ကိုအစားထိုးရန်ကျွန်ုပ်တို့သည်အောက်ပါအဆင့်များလိုအပ်သည်။
ပုံကိုတင်ခြင်း
ပစ်မှတ်အရောင်၏အညွှန်းကိန်းကိုရရန် isaecolorresolve () ကိုသုံးပါ
ပုံထဲမှာ pixels ပြုပြင်မွမ်းမံ
ပြုပြင်ထားသောပုံရိပ်ကို output သို့မဟုတ်သိမ်းဆည်းပါ
အောက်ဖော်ပြပါကုဒ်ဥပမာသည်ပုံတွင်တိကျသောအရောင်ကိုမည်သို့အစားထိုးရမည်ကိုပြသသည်။
<?php
// ပုံကိုတင်ခြင်း
$image = imagecreatefrompng('path_to_image.png');
// အစားထိုးဖို့အရောင်သတ်မှတ်ပါ(ဤနေရာတွင်ဥပမာတစ်ခုအနေဖြင့်အဖြူရောင်ယူပါ)
$target_r = 255;
$target_g = 255;
$target_b = 255;
// ပစ်မှတ်အရောင်၏အညွှန်းကိန်းကိုရယူပါ
$target_color_index = imagecolorresolve($image, $target_r, $target_g, $target_b);
// အရောင်သည် palette တွင်တည်ရှိမလားစစ်ဆေးပါ
if ($target_color_index != -1) {
// အရောင်အစားထိုးပါ(ဤတွင်ဥပမာအားဖြင့်အနက်ရောင်နှင့်အတူအစားထိုးသည်)
$replacement_color = imagecolorallocate($image, 0, 0, 0);
// ပုံ၏အကျယ်နှင့်အမြင့်ကိုရယူပါ
$width = imagesx($image);
$height = imagesy($image);
// pixel တစ်ခုချင်းစီမှတဆင့်ကြား
for ($x = 0; $x < $width; $x++) {
for ($y = 0; $y < $height; $y++) {
// လက်ရှိ pixel ၏အရောင်အညွှန်းကိုရယူပါ
$current_color_index = imagecolorat($image, $x, $y);
// လက်ရှိ pixel ပစ်မှတ်အရောင်ဖြစ်ပါတယ်ဆိုပါက,အရောင်အသစ်ဖြင့်အစားထိုးပါ
if ($current_color_index == $target_color_index) {
imagesetpixel($image, $x, $y, $replacement_color);
}
}
}
// အစားထိုးပုံရိပ် output
header('Content-Type: image/png');
imagepng($image);
// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($image);
} else {
echo "ပစ်မှတ်အရောင်သည်ပုံ palette တွင်မတည်ရှိပါ。";
}
?>
ကျနော်တို့ PNG ပုံရိပ်ကိုပထမ ဦး ဆုံး load ( imagecreatformmng () ) ။
ထို့နောက်ကျွန်ုပ်တို့သည်အစားထိုးရန်အရောင်ကိုအစားထိုးရန်, ဤနေရာတွင်အဖြူရောင်ကိုဥပမာတစ်ခုအနေဖြင့်သာယူသည် (RGB: 255, 255, 255) ။
ပစ်မှတ်အရောင်၏အညွှန်းကိန်းကိုရရန် imagecolorresolve () function ကိုသုံးပါ။
ပုံထဲက pixel တစ်ခုစီတိုင်းကိုသွားပြီးအရောင်ကပစ်မှတ်အရောင်နဲ့ကိုက်ညီမှုရှိမရှိစစ်ဆေးပါ။ အကယ်. Imagesetpixel () function ကို သုံး. အရောင်အသစ်ဖြင့်အစားထိုးပါ။
နောက်ဆုံးအနေဖြင့်ပြုပြင်ထားသောပုံရိပ်သည် output ကိုထုတ်လုပ်ခြင်းနှင့်အရင်းအမြစ်ကိုလွတ်မြောက်စေသည်။
Imagecolorresolve () သည် -1 ပြန်ရောက်သည် - 1 သည်ပုံရိပ်၏ palette တွင်မဟုတ်ကြောင်းဖော်ပြရန်။ ဤကိစ္စတွင်, သင်သည်အခြားနည်းလမ်း (ဥပမာ isagecolorallase () ) အရောင်အသစ်တစ်ခုကိုအရောင်အသစ်တစ်ခုသတ်မှတ်ရန်အခြားနည်းလမ်းတစ်ခုကိုရွေးချယ်နိုင်သည်။
ပွင့်လင်းမြင်သာသောနောက်ခံနှင့်ရုပ်ပုံများအတွက်ပွင့်လင်းမြင်သာသောဒေသများကိုကိုင်တွယ်ရန်နှင့်ပွင့်လင်းမြင်သာသောအစိတ်အပိုင်းများကိုမဖုံးကွယ်ရန် imagrecoleortransparent () function ကိုသုံးနိုင်သည်။
အကယ်. အရောင်အမျိုးမျိုးကိုအစားထိုးရန်လိုအပ်ပါကသင်၏ code ထဲရှိအရောင်တစ်ခုစီအတွက် isagecolorresolve () ကိုပြန်လည်အသုံးပြုနိုင်သည်။
ImageColorresolve () သည် Php GD စာကြည့်တိုက်တွင်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုကိုကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပုံသဏ် in ာန်ရှိအရောင်များကိုအလွယ်တကူပြောင်းလဲနိုင်သည်။