လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> hybrid mode မှာသုံးလို့ရမလား။ ပုံရိပ်ရောစပ်မှုအကျိုးသက်ရောက်မှုတစ်ခုလုံးကိုဖြစ်စဉ်တစ်ခုလုံးကိုသဘောပေါက်သည်

hybrid mode မှာသုံးလို့ရမလား။ ပုံရိပ်ရောစပ်မှုအကျိုးသက်ရောက်မှုတစ်ခုလုံးကိုဖြစ်စဉ်တစ်ခုလုံးကိုသဘောပေါက်သည်

gitbox 2025-06-15

ရောနှော mode သည် Image Procession စဉ်အတွင်းအသုံး 0 င်သည့်နည်းစနစ်တစ်ခုဖြစ်သည်။ PHP တွင် GD စာကြည့်တိုက်သည်ပုံရိပ်ပြုပြင်ခြင်းအတွက်အဓိကကိရိယာတစ်ခုဖြစ်သည်။ imagelayereeereeffect () သည်အလွှာအကျိုးသက်ရောက်မှုများကိုထိန်းချုပ်ရန်အသုံးပြုသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ထို့ကြောင့်ရောနှောထားသော mode ကိုအကောင်အထည်ဖော်ရန်အတွက်စိတ်ကူးများ () သည် () သည် () imagelayereeere ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှု၏စွမ်းဆောင်နိုင်မှုကိုနက်နက်ရှိုင်းရှိုင်းလေ့လာသုံးသပ်ပြီးရုပ်ပုံရောစပ်မှုဆိုင်ရာသက်ရောက်မှုများရရှိရန်အပြည့်အဝဖြေရှင်းချက်တစ်ခုပေးသည်။

1 ။ Imagelayereffect ကိုနားလည်ပါ ()

Imagelayereereffect () PHPG ၏စာကြည့်တိုက်တွင် function တစ်ခုဖြစ်သည်။ ၎င်း၏လုပ်ဆောင်ချက်သည်အလွှာ၏ mode ကိုပေါင်းစည်းပြီးနောက်ဆက်တွဲပုံရိပ်ကူးယူခြင်းသို့မဟုတ်ဆွဲခြင်းလုပ်ငန်းများကိုအကျိုးသက်ရောက်စေသည်။ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagelayereffect</span></span><span>(GdImage </span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$effect</span></span><span>);
</span></span>

အသုံးများသော Effect တန်ဖိုးများတွင် -

  • img_effect_replace - ပုံမှန်အပြုအမူ, pixels ကိုတိုက်ရိုက်အစားထိုးပါ။

  • img_effect_alphabild : standard alpha ရောနှော။

  • img_effect_normal : အထက်မှာအတူတူပဲ။

  • img_effect_overlay : overlay ရောနှောပါ။

  • img_effect_multiply : မြှောက်ခြင်းရောနှောပါ။

  • img_effect_mergegray : Grayscale ပေါင်းစည်းခြင်းလုပ်ဆောင်သည်။

IMG_EFFECT_Overlay နှင့် IMG_EFFECT_MUCTLY နှစ်ခုကို overg_effect_multiply နှင့် IMG_EFFECT_METPLY တို့အား PHP ဗားရှင်းများအားလုံးကိုမထောက်ပံ့နိုင်ကြောင်းသတိပြုသင့်သည်။

2 ။ Imagelayereffect ၏ကန့်သတ်ချက်များ

Imagelayereereffect () သည်အချို့သောကြိုတင်သတ်မှတ်ထားသော hybrid modes များကိုထောက်ပံ့သော်လည်း၎င်း၏ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်အမျိုးမျိုးသည်ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်စိတ်ကူးယဉ်ပုံရိပ်ဆော့ဖ်ဝဲလ်များသို့မဟုတ် imagemagick ကဲ့သို့သောကိရိယာများဖြစ်သည်။ ပို. အရေးကြီးသည်မှာ၎င်းသည် စိတ်ကူးယဉ်ပုံ () , imagecopymypymerge () စသည့်လုပ်ဆောင်ချက်များကိုအသုံးပြုခြင်းကဲ့သို့သောနောက်ပုံမိတ္တူကူးခြင်းလုပ်ငန်းတွင်သာအလုပ်လုပ်သည်။ ၎င်းသည်ရှိပြီးသား pixel အချက်အလက်များကိုမထိခိုက်ပါ။

ထို့ကြောင့်, သင်သည် "Soft Light" ကဲ့သို့သောရှုပ်ထွေးသောသို့မဟုတ်စိတ်ကြိုက်ပြင်ဆင်ထားသော Modes များကိုအကောင်အထည်ဖော်ရန်လိုအပ်ပါက Photoshop တွင် "Linear Solfening" တွင် "linear sunction" ကဲ့သို့သော "linear filter" ဖြင့်ပြုလုပ်ရန်လိုအပ်သည်။

3 ။ လက်ဖြင့် hybrid mode ကိုအကောင်အထည်ဖော်ပါ PHP Pixel-Level Operation

ဥပမာတစ်ခုအနေဖြင့် "Multiply" ကိုယူခြင်းအားဖြင့်ရုပ်ပုံနှစ်ခုကိုအောက်ပါနည်းလမ်းများဖြင့်ရောစပ်နိုင်သည်။

 <span><span><span class="hljs-variable">$bg</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-string">'background.png'</span></span><span>); </span><span><span class="hljs-comment">// နောက်ခံပုံ</span></span><span>
</span><span><span class="hljs-variable">$fg</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-string">'foreground.png'</span></span><span>); </span><span><span class="hljs-comment">// foreground မြေပုံ</span></span><span>
</span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagesx</span></span><span>(</span><span><span class="hljs-variable">$bg</span></span><span>);
</span><span><span class="hljs-variable">$height</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagesy</span></span><span>(</span><span><span class="hljs-variable">$bg</span></span><span>);

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagealphablending</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagesavealpha</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);

</span><span><span class="hljs-keyword">for</span></span><span> (</span><span><span class="hljs-variable">$y</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-variable">$y</span></span><span> &lt; </span><span><span class="hljs-variable">$height</span></span><span>; </span><span><span class="hljs-variable">$y</span></span><span>++) {
    </span><span><span class="hljs-keyword">for</span></span><span> (</span><span><span class="hljs-variable">$x</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-variable">$x</span></span><span> &lt; </span><span><span class="hljs-variable">$width</span></span><span>; </span><span><span class="hljs-variable">$x</span></span><span>++) {
        </span><span><span class="hljs-variable">$bgColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorat</span></span><span>(</span><span><span class="hljs-variable">$bg</span></span><span>, </span><span><span class="hljs-variable">$x</span></span><span>, </span><span><span class="hljs-variable">$y</span></span><span>);
        </span><span><span class="hljs-variable">$fgColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorat</span></span><span>(</span><span><span class="hljs-variable">$fg</span></span><span>, </span><span><span class="hljs-variable">$x</span></span><span>, </span><span><span class="hljs-variable">$y</span></span><span>);

        </span><span><span class="hljs-variable">$bgR</span></span><span> = (</span><span><span class="hljs-variable">$bgColor</span></span><span> &gt;&gt; </span><span><span class="hljs-number">16</span></span><span>) &amp; </span><span><span class="hljs-number">0xFF</span></span><span>;
        </span><span><span class="hljs-variable">$bgG</span></span><span> = (</span><span><span class="hljs-variable">$bgColor</span></span><span> &gt;&gt; </span><span><span class="hljs-number">8</span></span><span>) &amp; </span><span><span class="hljs-number">0xFF</span></span><span>;
        </span><span><span class="hljs-variable">$bgB</span></span><span> = </span><span><span class="hljs-variable">$bgColor</span></span><span> &amp; </span><span><span class="hljs-number">0xFF</span></span><span>;

        </span><span><span class="hljs-variable">$fgR</span></span><span> = (</span><span><span class="hljs-variable">$fgColor</span></span><span> &gt;&gt; </span><span><span class="hljs-number">16</span></span><span>) &amp; </span><span><span class="hljs-number">0xFF</span></span><span>;
        </span><span><span class="hljs-variable">$fgG</span></span><span> = (</span><span><span class="hljs-variable">$fgColor</span></span><span> &gt;&gt; </span><span><span class="hljs-number">8</span></span><span>) &amp; </span><span><span class="hljs-number">0xFF</span></span><span>;
        </span><span><span class="hljs-variable">$fgB</span></span><span> = </span><span><span class="hljs-variable">$fgColor</span></span><span> &amp; </span><span><span class="hljs-number">0xFF</span></span><span>;

        </span><span><span class="hljs-comment">// Multiply ပုံစံဖော်မြူလာ: result = (A * B) / 255</span></span><span>
        </span><span><span class="hljs-variable">$newR</span></span><span> = (</span><span><span class="hljs-variable">$bgR</span></span><span> * </span><span><span class="hljs-variable">$fgR</span></span><span>) / </span><span><span class="hljs-number">255</span></span><span>;
        </span><span><span class="hljs-variable">$newG</span></span><span> = (</span><span><span class="hljs-variable">$bgG</span></span><span> * </span><span><span class="hljs-variable">$fgG</span></span><span>) / </span><span><span class="hljs-number">255</span></span><span>;
        </span><span><span class="hljs-variable">$newB</span></span><span> = (</span><span><span class="hljs-variable">$bgB</span></span><span> * </span><span><span class="hljs-variable">$fgB</span></span><span>) / </span><span><span class="hljs-number">255</span></span><span>;

        </span><span><span class="hljs-variable">$color</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocatealpha</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>, </span><span><span class="hljs-variable">$newR</span></span><span>, </span><span><span class="hljs-variable">$newG</span></span><span>, </span><span><span class="hljs-variable">$newB</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);
        </span><span><span class="hljs-title function_ invoke__">imagesetpixel</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>, </span><span><span class="hljs-variable">$x</span></span><span>, </span><span><span class="hljs-variable">$y</span></span><span>, </span><span><span class="hljs-variable">$color</span></span><span>);
    }
}

</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>, </span><span><span class="hljs-string">'output.png'</span></span><span>);
</span></span>

ဤဥပမာသည် Pixel ၏ပုံရိပ် 2 ခု၏ RGB တန်ဖိုးများကိုရောနှောခြင်းဖြင့်မြှောက်ခြင်းနှင့်အကျိုးသက်ရောက်မှုများကိုမည်သို့အောင်မြင်နိုင်မည်ကိုပြသသည်။ စွမ်းဆောင်ရည်သည်အခြေခံစာကြည့်တိုက်ခေါ်ဆိုမှုများကဲ့သို့မကောင်းသည်ဖြစ်သော်လည်း၎င်းသည်လွတ်လပ်စွာဒီထက်ပိုပြီးမြင့်မားသောကြောင့်အလွန်မြင့်မားသောကြောင့်ပုံရိပ်ပေါင်းစပ်မှုလုပ်ငန်းစဉ်ကိုတိကျသောထိန်းချုပ်မှုလိုအပ်သည်။

4 ။ အကျဉ်းချုပ်

Imagelayereereffect () Image Mixing Mixing Movinging processing processing processing processing ပြုလုပ်ခြင်းသည်အထူးသဖြင့်အာလဖင်ပေါင်းပေါင်းခြင်းလုပ်ငန်းများကိုထောက်ပံ့ရန်ဖြစ်သည်။ သို့သော်၎င်း၏စွမ်းဆောင်ရည်များသည်အကန့်အသတ်ရှိသည်။ ပိုမိုရှုပ်ထွေးသောပုံရိပ်လိုအပ်ချက်များအတွက် developer များက pixels များကိုကိုယ်တိုင်ထုတ်ယူခြင်းသို့မဟုတ်ပိုမိုပြည့်စုံသောပုံရိပ်ထုတ်ပေးစာကြည့်တိုက်များ အသုံးပြု. imagemagick သို့မဟုတ်ပြင်ပကိရိယာများဟုခေါ်ဆိုနိုင်သည်။

PHP သည်အထူးပုံရိပ်ထုတ်ယူမှုမဟုတ်သောဘာသာစကားမဟုတ်သော်လည်းဆာဗာဘက်တွင်ပုံများပေါ်ပေါက်လာခြင်းသို့မဟုတ်ထုတ်လုပ်သည့်အခါ၎င်းသည်တည်ငြိမ်။ ထိန်းချုပ်နိုင်သောရွေးချယ်မှုတစ်ခုဖြစ်သည်။ ကျိုးကြောင်းဆီလျော်သော GD စာကြည့်တိုက်လုပ်ငန်းဆောင်တာများနှင့် algorithm ယုတ္တိဗေဒကိုပေါင်းစပ်ပြီး algorithm ယုတ္တိဗေဒသည်ပုံတည်းဖြတ်ခြင်းအတွက်ဖြစ်နိုင်ခြေများစွာရရှိနိုင်သည်။