လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ပုံရိပ်တွေကိုဘယ်လိုသုံးရမလဲ။ ပွင့်လင်းမြင်သာသော synthesis ၏မှန်ကန်သောသရုပ်ပြ

ပုံရိပ်တွေကိုဘယ်လိုသုံးရမလဲ။ ပွင့်လင်းမြင်သာသော synthesis ၏မှန်ကန်သောသရုပ်ပြ

gitbox 2025-08-23
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ဆောင်းပါးခေါင်းစဉ်:imagealphablending နှင့် imagecopy ဘယ်လိုအတူတူသုံးရမလဲ?ပွင့်လင်းမြင်သာသော synthesis ၏မှန်ကန်သောသရုပ်ပြ</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>

---

တည်နေ PHP ပုံရိပ်ထုတ်ယူမှုဖျော်ဖြေသောအခါ,`imagealphablending` နှင့် `imagecopy` ဤရွေ့ကားနှစ် ဦး အလွန်အသုံးများသော functions နှစ်ခုဖြစ်ကြသည်,尤其是တည်နေ涉及透明度合成နှင့်图像合成的场景中。ဒီနှစ်ခုလုပ်ဆောင်ချက်များကိုပေါင်းစပ်ခြင်းဖြင့်အသုံးပြုပါ,Transparent နောက်ခံနှင့်အတူပုံဖော် synthesis ကိုသဘောပေါက်နိုင်ပါတယ်,像是တည်နေ海报制作、GIF ပေါင်းစပ်မှုနှင့်ရေစာများနှင့်ရေစာများထပ်မံလုပ်ဆောင်ခြင်းများတွင်အလွန်လက်တွေ့ကျသည်။。

</span><span><span class="hljs-comment">### 1. `imagealphablending` နိဒါန်းနိဒါန်း</span></span><span>

`imagealphablending` ၎င်းသည်ပုံကိုဖွင့်ထားခြင်းရှိမရှိထိန်းချုပ်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။。它影响的是图像的透明度နှင့်混合方式。အဆိုပါ hybrid mode ကိုအပေါ်အခါအခါ,ပုံ၏ပွင့်လင်းမြင်သာမှုအပိုင်းကိုနောက်ခံပုံ၏အရောင်အရပြောင်းလဲလိမ့်မည်。

</span><span><span class="hljs-comment">#### function ရှေ့ပြေးပုံစံ:</span></span><span>
```php
</span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagealphablending</span></span><span>(resource </span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$blendmode</span></span><span>);
</span></span>
  • $ Image : ဖွင့်ရန်လိုအပ်သည့်ပုံရိပ်အရင်းအမြစ်။

  • $ Bethmode : Booolean Value, True Mode ကို ဖွင့်ရန်နည်းလမ်းများ,

ပုံမှန်အားဖြင့် Blending Mode ကို enable လုပ်ရန် actloealessphableending လုပ်ရပ်များသည် pixel များ၏ပွင့်လင်းမြင်သာမှုအပိုင်းသည်နောက်ခံပုံနှင့်ရောနှောနေလိမ့်မည်။

2 ။ imagECOPY function ကိုမိတ်ဆက်

ပုံ တစ်ပုံကိုအခြားပုံရိပ်တစ်ခုတွင်ပုံတစ်ပုံသို့ကူးယူရန်ပုံတစ်ပုံကိုကူးယူရန်အသုံးပြုသည်။ ၎င်းသည်ပွ င့ ်လင်းမြင်သာသော pixels ကူးယူခြင်းကိုထောက်ခံသည်။

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

 <span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagecopy</span></span><span>(resource </span><span><span class="hljs-variable">$dst_image</span></span><span>, resource </span><span><span class="hljs-variable">$src_image</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$dst_x</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$dst_y</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_x</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_y</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_height</span></span><span>);
</span></span>
  • $ DST_IMARE : ပုံရိပ်အရင်းအမြစ်ကိုပစ်မှတ်ထားသည်။

  • $ src_image : အရင်းအမြစ်ပုံရိပ်အရင်းအမြစ်။

  • $ DST_X , $ DST_Y : ပစ်မှတ်ပုံရိပ်၏ဘယ်ဘက်ထောင့်ရှိအနေအထား။

  • $ src_x , $ src_y : အရင်းအမြစ်ပုံရိပ်၏ဘယ်ဘက်အပေါ်ထောင့်ရှိအနေအထား။

  • $ src_width , $ src_height : source image ရိယာမှကူးယူရမည့် area ရိယာ၏အနံနှင့်အမြင့်။

3 ။ ပွင့်လင်းသောပုံရိပ်များကို synthesize ဖို့မှန်ကန်သောနည်းလမ်း

ပွင့်လင်းမြင်သာသောပုံရိပ်ကိုပေါင်းစပ်လုပ်ဆောင်သောအခါအရင်းအမြစ်နှင့်ပစ်မှတ်ထားရုပ်ပုံများသည်ပွင့်လင်းမြင်သာမှုကိုမှန်ကန်စွာကိုင်တွယ်ရန်သေချာစေရန်အရေးအကြီးဆုံးဖြစ်သည်။ ဤတွင် Transparent နှင့် imagecopy ပေါင်းစပ်ခြင်း, ပွင့်လင်းမြင်သာသောပေါင်းစပ် synthesis ၏မှန်ကန်သောသရုပ်ပြတစ်ခုဖြစ်ပါတယ်။

နမူနာကုဒ်:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 创建目标图像နှင့်源图像资源</span></span><span>
</span><span><span class="hljs-variable">$dst_image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">500</span></span><span>, </span><span><span class="hljs-number">500</span></span><span>);
</span><span><span class="hljs-variable">$src_image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-string">'source_image.png'</span></span><span>); </span><span><span class="hljs-comment">// အရင်းအမြစ်ပုံရိပ်တစ်ခုဖြစ်ပါတယ်ယူဆ PNG ပမာဏ</span></span><span>

</span><span><span class="hljs-comment">// ပစ်မှတ်ပုံရိပ်အတွက်ပွင့်လင်းနောက်ခံထားပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagesavealpha</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-variable">$transparent</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocatealpha</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">127</span></span><span>); </span><span><span class="hljs-comment">// ပွင့်လင်းအရောင်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$transparent</span></span><span>);

</span><span><span class="hljs-comment">// ပွင့်လင်းသော hybrid mode ကိုဖွင့်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagealphablending</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);

</span><span><span class="hljs-title function_ invoke__">imagecopy</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>, </span><span><span class="hljs-variable">$src_image</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-title function_ invoke__">imagesx</span></span><span>(</span><span><span class="hljs-variable">$src_image</span></span><span>), </span><span><span class="hljs-title function_ invoke__">imagesy</span></span><span>(</span><span><span class="hljs-variable">$src_image</span></span><span>));

</span><span><span class="hljs-comment">// ထုတ်လုပ်မှုပုံရိပ် output ကို output</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: image/png'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>);

</span><span><span class="hljs-comment">// အရင်းအမြစ်များကိုသန့်ရှင်းရေး</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$src_image</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4 ။ ကုဒ်အဓိပ္ပာယ်ကောက်ယူ

  1. ပစ်မှတ်ပုံရိပ်တစ်ခုဖန်တီးပါ

    • အရွယ်အစား 500x500 ၏ပစ်မှတ်ထားပုံရိပ်အရင်းအမြစ်ကိုဖန်တီးရန် isaecreatetuecolor () ကိုသုံးပါ။

  2. loading source image :

    • အရင်းအမြစ်ပုံရိပ်ကို load လုပ်ရန် ISECECREATEFFECREFFECFEFFECTREFFOFFECREMFMPNG () ကိုသုံးပါ။ PNG သည်ပွင့်လင်းမြင်သာသောနောက်ခံများကိုထောက်ပံ့သောကြောင့်၎င်းသည် PNG ဖိုင်ဖြစ်သည်ဟုယူဆကြသည်။

  3. ပွင့်လင်းနောက်ခံကိုသတ်မှတ်ပါ

    • Imagesavealpha () သည် PHP ကိုပုံ၏ပွင့်လင်းမြင်သာမှုဆိုင်ရာအချက်အလက်များကိုသိမ်းဆည်းရန် PHP ကိုပြောပြသည်။

    • Imagecolorallocatealpha () ပွင့်လင်းမြင်သာသောအရောင်ကိုသတ်မှတ်ပြီးပစ်မှတ်ထားပုံရိပ်သည်ပွ င့် လင်းမြင်သာမှုရှိစေရန် Target Demlate နှင့်ဖြည့်စွက်သည်။

  4. ပွင့်လင်းသော hybrid mode ကိုဖွင့်ပါ

    • ပွင့်လင်းမြင်သာသောပေါင်းစပ်ပေါင်းစပ်မှုအားဖွင့်ရန် actealphableender ($ dst_image, trut) ကိုသုံးပါ။

  5. ပုံရိပ်

    • ပုံရိပ်ကိုပုံရိပ်ကိုသတ်မှတ်ထားသောပုံရိပ်သို့ကူးယူရန် imagecopy () ကို သုံးပါ။ ပေါင်းစပ်အကျိုးသက်ရောက်မှုသည်အရင်းအမြစ်ပုံရိပ်၏ပွင့်လင်းမြင်သာမှုကိုထိန်းသိမ်းလိမ့်မည်။

  6. output ကိုပုံ :

    • နောက်ဆုံးအနေဖြင့် synthesized image သည် isionpng () မှတဆင့် output ကိုဖြစ်သည်။

  7. အရင်းအမြစ်များကိုသန့်ရှင်းရေး :

    • မှတ်ဉာဏ်ယိုစိမ့်မှုများကိုရှောင်ရှားရန်ပုံရိပ်အရင်းအမြစ်များကိုသန့်ရှင်းရေးလုပ်ရန် Imageousestroy () ကိုသုံးပါ။

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

ပုံရိပ်ကိုပွင့်လင်းမြင်သာမှုနှင့်ပုံဖော်ခြင်းနှင့်ပေါင်းစပ်သည့်အခါ imagealphableending နှင့် imagecopy လုပ်ဆောင်ချက်များပေါင်းစပ်ခြင်းသည် PHP ကိုအလွန်ထိရောက်စေသည်။ အဓိကသော့ချက်မှာ Target Image သည်ပွင့်လင်းမြင်သာမှုဆိုင်ရာအချက်အလက်များကိုမှန်ကန်စွာလုပ်ဆောင်နိုင်ပြီး synthately image ၏ပွင့်လင်းမြင်သာမှုရှိသည့်အစိတ်အပိုင်းများကိုမှန်ကန်စွာပြသနိုင်စေရန်အတွက်ပွင့်လင်းမြင်သာသော blending mode ကိုပြောင်းလဲနိုင်သည်။

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