လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ISESECOSORRESOLVE ကို အသုံးပြု. စိတ်ကြိုက်အသံမြေပုံရေးဆွဲခြင်း algorithm ကိုအကောင်အထည်ဖော်ပါ ()

ISESECOSORRESOLVE ကို အသုံးပြု. စိတ်ကြိုက်အသံမြေပုံရေးဆွဲခြင်း algorithm ကိုအကောင်အထည်ဖော်ပါ ()

M66 2025-05-29

Custom Tone ကိုမည်သို့အကောင်အထည်ဖော်နိုင်ပြီး imagecolorresolve () function ကို အသုံးပြု. ပုံရိပ်အရောင်ထုတ်လုပ်မှုကိုအကောင်းဆုံးလုပ်နည်း

PHP တွင်ရုပ်ပုံများကိုပြုပြင်သည့်အခါရုပ်ပုံ၏အရောင်, တောက်ပမှုသို့မဟုတ်ခြားနားချက်ကိုညှိရန်လိုအပ်သည်။ algorithm ကိုမြေပုံရေးဆွဲခြင်းသည် algorithm ကိုမြေပုံဆွဲခြင်းဖြင့်ပိုမိုတိကျစွာထိန်းချုပ်နိုင်သည်။ ဤဆောင်းပါးသည် isagecolorresolveolveololve () function ကို အသုံးပြု. စိတ်ကြိုက်အသံအနှောက်အယှက်ဖြစ်စေသည့် algorithm ကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။ ပုံရိပ်အရောင်ပြုပြင်ခြင်းဥပမာများကိုဖော်ပြပါ။

ISECOSORRESOLVE () function ကို မိတ်ဆက်

Imagecolorresolve () PHP ၏ GD စာကြည့်တိုက်တွင်ဖော်ပြထားသောပုံရိပ်အရင်းအမြစ်တစ်ခုမှ parses နှင့် color index ကိုသတ်မှတ်ထားသော RGB တန်ဖိုးနှင့်သက်ဆိုင်သောအရောင်အညွှန်းကိန်းကိုပြန်လည်ပေးအပ်သည်။ ၎င်း၏အဓိကလုပ်ဆောင်ချက်မှာရုပ်ပုံများကိုပြုပြင်သည့်အခါရုပ်ပုံအတွင်းရှိအရောင်များကိုရှာဖွေရန်နှင့်ပြုပြင်ရန်ကူညီရန်ဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည်အထူးသဖြင့်သေံမြေပုံရေးဆွဲသည့်အခါအရောင်ခြယ်ထားသောအရောင်ထိန်းချုပ်မှုအတွက်အလွန်အသုံးဝင်သည်။

function ရှေ့ပြေးပုံစံ:

 int imagecolorresolve ( resource $image, int $r, int $g, int $b )

parameter သည်ဖော်ပြချက်:

  • $ Image : လုပ်ငန်းများ၌ရေးဆွဲမည့်ပုံရိပ်အရင်းအမြစ်။

  • $ R : အနီရောင်ချန်နယ်၏တန်ဖိုး (0 မှ 255) ။

  • $ g : အစိမ်းရောင်ချန်နယ်၏တန်ဖိုး (0 မှ 255) ၏တန်ဖိုး။

  • $ B : အပြာရောင်ချန်နယ်၏တန်ဖိုး (0 မှ 255) ၏တန်ဖိုး။

Value ကိုပြန်သွားပါ

တွေ့ရှိရသောအရောင်၏အညွှန်းကိန်းကိုညွှန်ပြတဲ့ကိန်းဂဏန်းကိုပြန်ပို့သည်။ အရောင်ကိုရှာမတွေ့ပါက -1 ကိုပြန်သွားပါ။

algorithm မြေပုံသံ

Hue Mapping သည်ပုံရိပ်အရောင်ညှိနှိုင်းမှု၏ဘုံနည်းလမ်းဖြစ်သည်။ pixel တစ်ခုချင်းစီ၏အရောင်, ပြည့်နှက်ခြင်းသို့မဟုတ်တောက်ပမှုကိုပြုပြင်ခြင်းဖြင့်ကွဲပြားခြားနားသောပုံသက်ရောက်မှုများကိုရရှိနိုင်သည်။ pixel တစ်ခုစီ၏အရောင်တန်ဖိုးကိုရှာဖွေရန်ကျွန်ုပ်တို့သည် isionecolorresolveolve () function ကို သုံး. သတ်သတ်မှတ်မှတ်စည်းမျဉ်းများအရအရောင်ကိုညှိပါ။

ဥပမာ - စိတ်ကြိုက်အသံမြေပုံ

ကျွန်ုပ်တို့တွင်ရုပ်ပုံတစ်ခုရှိပြီးရိုးရှင်းသောအသံညှိနှိုင်းမှုအကျိုးသက်ရောက်မှုကိုရရှိလိုသည်ဆိုပါစို့။ ဥပမာအားဖြင့်, အနီရောင်တန်ချိန်ကိုရုပ်ပုံထဲမှအမှိုက်များနှင့်စိမ်းလန်းသောတန်ချိန်များပိုမိုတောက်ပစေပါ။ Pixel အရောင်များကိုရှာဖွေရန် imagecolorresolve () ကို သုံး. စိတ်ကြိုက်စည်းမျဉ်းစည်းကမ်းများမှတစ်ဆင့်ပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။

 <?php
// ပုံကိုတင်ခြင်း
$imagePath = "https://m66.net/images/sample.jpg";
$image = imagecreatefromjpeg($imagePath);

// ပုံ၏အကျယ်နှင့်အမြင့်ကိုရယူပါ
$width = imagesx($image);
$height = imagesy($image);

// pixel တစ်ခုစီမှတစ်ဆင့်ကြားခံနှင့်လေသံမြေပုံဆွဲခြင်း algorithm ကိုသုံးပါ
for ($y = 0; $y < $height; $y++) {
    for ($x = 0; $x < $width; $x++) {
        // လက်ရှိ pixel ၏အရောင်တန်ဖိုးကိုရယူပါ
        $rgb = imagecolorat($image, $x, $y);
        
        // ရယူRGBဘက်စပ်ပါဝင်ရာ
        $r = ($rgb >> 16) & 0xFF;
        $g = ($rgb >> 8) & 0xFF;
        $b = $rgb & 0xFF;

        // Custom Tone မြေပုံစည်းမျဉ်းစည်းကမ်းများကို Apply
        // ဒီမှာငါတို့အနီရောင်ချန်နယ်ထည့်ပါ,အစိမ်းရောင်ရုပ်သံလိုင်းကိုလျှော့ချပါ,နှင့်အပြာရောင်ရုပ်သံလိုင်း၏တောက်ပမှုကိုတိုးမြှင့်
        $r = min($r + 20, 255); // အနီရောင် Darkening
        $g = max($g - 30, 0);   // အစိမ်းရောင်အားနည်းနေ
        $b = min($b + 15, 255); // အပြာရောင်တောက်ပ

        // အသုံးပြု imagecolorresolve() အရောင်အညွှန်းကိုရှာပါ
        $colorIndex = imagecolorresolve($image, $r, $g, $b);

        // အဘယ်သူမျှမသက်ဆိုင်ရာအရောင်ကိုရှာတွေ့ပါ,အရောင်အသစ်တစ်ခုဖန်တီးပါ
        if ($colorIndex == -1) {
            $colorIndex = imagecolorallocate($image, $r, $g, $b);
        }

        // ပြုပြင်ထားသောအရောင်ကိုပုံသို့ပြန်ထားပါ
        imagesetpixel($image, $x, $y, $colorIndex);
    }
}

// ပြုပြင်ထားသောပုံရိပ်ကိုထုတ်ပေးသည်
header('Content-Type: image/jpeg');
imagejpeg($image);

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

code parsing

  1. Loading Image : ကျွန်ုပ်တို့သည် JPEG format ပုံရိပ်ကို imagecreathertjpeg () function မှတဆင့် load လုပ်ပါ။ လက်တွေ့တွင်, ၎င်းကိုမည်သည့်ပုံရိပ်ပုံစံဖြင့်အစားထိုးနိုင်သည်။

  2. ပုံရိပ်အရွယ်အစားကိုရယူပါ ။ ပုံ၏အကျယ်နှင့်အမြင့်ကို Imagesx () နှင့် ပုံရိပ်များ () functions များဖြင့်ရယူပါ။ pixel taversal အတွက်ပြင်ဆင်ပါ။

  3. Pixel တစ်ခုစီကို pixel တစ်ခုချင်းစီကိုဖြတ်ပြီး current pixel ၏ RGB တန်ဖိုးကိုရယူရန်နှင့်အရောင်ချန်နယ်တစ်ခုစီ၏တန်ဖိုးကိုထုတ်ယူရန် imagecolorat () function ကိုသုံးပါ။

  4. Tone မြေပုံရေးဆွဲခြင်းဆိုင်ရာစည်းမျဉ်းစည်းကမ်းများကိုအသုံးပြုခြင်း - ကျွန်ုပ်တို့၏လိုအပ်ချက်များနှင့်အညီရိုးရိုးရှင်းရှင်းစည်းမျဉ်းကိုကျွန်ုပ်တို့စိတ်ကြိုက်ပြုပြင်သည်။ အနီရောင်ချန်နယ်ကိုတိုးမြှင့်ခြင်း, အစိမ်းရောင်ချန်နယ်ကိုလျှော့ချပါ။

  5. အရောင်အညွှန်းကိုရှာပါ ။ ချိန်ညှိထားသောအရောင်ကို isionecolorresolve () function မှတဆင့်ရှာပါ။ ရှာမတွေ့ပါကကျွန်ုပ်တို့သည်အရောင်အသစ်တစ်ခုကို ဖန်တီး. ရုပ်ပုံအသစ်တစ်ခုကိုဖန်တီးရန် ISESECOLORALANEALALACEAREALEACE ကိုအသုံးပြုသည်။

  6. output image : နောက်ဆုံးတော့ဖိုင်ကို browser ကို browser ကို output လုပ်ဖို့ imagejpeg () function ကိုသုံးတယ်။

ပုံရိပ်အရောင်ထုတ်လုပ်မှုကိုပိုကောင်းအောင်လုပ်ပါ

ပုံသဏ္ဌာန်အရေအတွက်အမြောက်အများနှင့်အလုပ်လုပ်သောအခါစွမ်းဆောင်ရည်ပြ issues နာများကိုမကြာခဏခေါ်ဆိုနိုင်သည့်အတွက်စွမ်းဆောင်ရည်ပြ issues နာများကိုဖြစ်ပေါ်စေနိုင်သည် စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေရန်အောက်ပါနည်းဗျူဟာများကိုထည့်သွင်းစဉ်းစားနိုင်သည် -

  1. အရောင် cache : ထပ်ခါတလဲလဲတွက်ချက်မှုကိုရှောင်ရှားရန်မကြာခဏအရောင်များကိုအသုံးပြုသော cache ကိုမကြာခဏအသုံးပြုသည်။

  2. ပုံအရွယ်အစားကိုလျှော့ချပါ

  3. အသုတ်အပြောင်းအလဲ - လုပ်ငန်းများ၌လိုအပ်သည့်ပုံရိပ်များစွာအတွက်အပြောင်းအလဲရုံကိုအရှိန်မြှင့်ရန်အပြိုင်ပြုပြင်ခြင်းနည်းစနစ်များကိုအသုံးပြုသည်။

အကျဉ်းချုပ်

ISESECOSORRESOLVELESOLVEL () function ကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ပုံရိပ်၏အရောင်ကိုညှိရန်ပြောင်းလွယ်ပြင်လွယ်ရန်စိတ်ကြိုက်အသံဖြင့် algorithm ကိုအကောင်အထည်ဖော်နိုင်သည်။ cache နှင့်စွမ်းဆောင်ရည်အကောင်းဆုံးမဟာဗျူဟာများကိုပေါင်းစပ်ပြီးပုံရိပ်များအမြောက်အများကိုထိရောက်စွာလုပ်ဆောင်နိုင်ပြီးပုံရိပ်ထုတ်ပေးမှုစွမ်းဆောင်ရည်ကိုတိုးတက်ကောင်းမွန်စေနိုင်သည်။ ဤဆောင်းပါးတွင်ဥပမာများကဤလုပ်ဆောင်မှုကိုပိုမိုနားလည်ပြီးအသုံးပြုရန်မျှော်လင့်ပါသည်။