<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဆောင်းပါးခေါင်းစဉ်:imagealphablending နှင့် imagecopy ဘယ်လိုအတူတူသုံးရမလဲ?ပွင့်လင်းမြင်သာသော synthesis ၏မှန်ကန်သောသရုပ်ပြ</span></span><span>
</span><span><span class="hljs-meta">?></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 များ၏ပွင့်လင်းမြင်သာမှုအပိုင်းသည်နောက်ခံပုံနှင့်ရောနှောနေလိမ့်မည်။
ပုံ တစ်ပုံကိုအခြားပုံရိပ်တစ်ခုတွင်ပုံတစ်ပုံသို့ကူးယူရန်ပုံတစ်ပုံကိုကူးယူရန်အသုံးပြုသည်။ ၎င်းသည်ပွ င့ ်လင်းမြင်သာသော pixels ကူးယူခြင်းကိုထောက်ခံသည်။
<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 ရိယာ၏အနံနှင့်အမြင့်။
ပွင့်လင်းမြင်သာသောပုံရိပ်ကိုပေါင်းစပ်လုပ်ဆောင်သောအခါအရင်းအမြစ်နှင့်ပစ်မှတ်ထားရုပ်ပုံများသည်ပွင့်လင်းမြင်သာမှုကိုမှန်ကန်စွာကိုင်တွယ်ရန်သေချာစေရန်အရေးအကြီးဆုံးဖြစ်သည်။ ဤတွင် Transparent နှင့် imagecopy ပေါင်းစပ်ခြင်း, ပွင့်လင်းမြင်သာသောပေါင်းစပ် synthesis ၏မှန်ကန်သောသရုပ်ပြတစ်ခုဖြစ်ပါတယ်။
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>
ပစ်မှတ်ပုံရိပ်တစ်ခုဖန်တီးပါ ။
အရွယ်အစား 500x500 ၏ပစ်မှတ်ထားပုံရိပ်အရင်းအမြစ်ကိုဖန်တီးရန် isaecreatetuecolor () ကိုသုံးပါ။
loading source image :
အရင်းအမြစ်ပုံရိပ်ကို load လုပ်ရန် ISECECREATEFFECREFFECFEFFECTREFFOFFECREMFMPNG () ကိုသုံးပါ။ PNG သည်ပွင့်လင်းမြင်သာသောနောက်ခံများကိုထောက်ပံ့သောကြောင့်၎င်းသည် PNG ဖိုင်ဖြစ်သည်ဟုယူဆကြသည်။
ပွင့်လင်းနောက်ခံကိုသတ်မှတ်ပါ ။
Imagesavealpha () သည် PHP ကိုပုံ၏ပွင့်လင်းမြင်သာမှုဆိုင်ရာအချက်အလက်များကိုသိမ်းဆည်းရန် PHP ကိုပြောပြသည်။
Imagecolorallocatealpha () ပွင့်လင်းမြင်သာသောအရောင်ကိုသတ်မှတ်ပြီးပစ်မှတ်ထားပုံရိပ်သည်ပွ င့် လင်းမြင်သာမှုရှိစေရန် Target Demlate နှင့်ဖြည့်စွက်သည်။
ပွင့်လင်းသော hybrid mode ကိုဖွင့်ပါ ။
ပွင့်လင်းမြင်သာသောပေါင်းစပ်ပေါင်းစပ်မှုအားဖွင့်ရန် actealphableender ($ dst_image, trut) ကိုသုံးပါ။
ပုံရိပ်
ပုံရိပ်ကိုပုံရိပ်ကိုသတ်မှတ်ထားသောပုံရိပ်သို့ကူးယူရန် imagecopy () ကို သုံးပါ။ ပေါင်းစပ်အကျိုးသက်ရောက်မှုသည်အရင်းအမြစ်ပုံရိပ်၏ပွင့်လင်းမြင်သာမှုကိုထိန်းသိမ်းလိမ့်မည်။
output ကိုပုံ :
နောက်ဆုံးအနေဖြင့် synthesized image သည် isionpng () မှတဆင့် output ကိုဖြစ်သည်။
အရင်းအမြစ်များကိုသန့်ရှင်းရေး :
မှတ်ဉာဏ်ယိုစိမ့်မှုများကိုရှောင်ရှားရန်ပုံရိပ်အရင်းအမြစ်များကိုသန့်ရှင်းရေးလုပ်ရန် Imageousestroy () ကိုသုံးပါ။
ပုံရိပ်ကိုပွင့်လင်းမြင်သာမှုနှင့်ပုံဖော်ခြင်းနှင့်ပေါင်းစပ်သည့်အခါ imagealphableending နှင့် imagecopy လုပ်ဆောင်ချက်များပေါင်းစပ်ခြင်းသည် PHP ကိုအလွန်ထိရောက်စေသည်။ အဓိကသော့ချက်မှာ Target Image သည်ပွင့်လင်းမြင်သာမှုဆိုင်ရာအချက်အလက်များကိုမှန်ကန်စွာလုပ်ဆောင်နိုင်ပြီး synthately image ၏ပွင့်လင်းမြင်သာမှုရှိသည့်အစိတ်အပိုင်းများကိုမှန်ကန်စွာပြသနိုင်စေရန်အတွက်ပွင့်လင်းမြင်သာသော blending mode ကိုပြောင်းလဲနိုင်သည်။
ကျိုးကြောင်းဆီလျော်သောပုံရိပ်များအတွက်သီးခြားပုံရိပ်များ၏ပေါင်းစပ်အကျိုးသက်ရောက်မှုကိုဆင်ခြင်တုံတရားဖြင့် အသုံးပြု. ပွင့်လင်းမြင်သာမှုအမျိုးမျိုးအတွက်သင့်တော်သောပွင့်လင်းမြင်သာသောရုပ်ပုံများ၏ပေါင်းစပ်အကျိုးသက်ရောက်မှုကိုအလွယ်တကူရရှိနိုင်သည်။