<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤဆောင်းပါးသည်ဥပမာဆောင်းပါးတစ်ပုဒ်အတွက်ကုဒ်မူဘောင်ဖြစ်သည်</span></span><span>
</span><span><span class="hljs-comment">// ဆောင်းပါးသည်ကုဒ်နှင့်လုံးဝမသက်ဆိုင်ပါ,အောက်ပါတို့သည်ခွဲခြားခြင်းမပြုမီအကြောင်းအရာသာဖြစ်သည်</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-comment"># ဘယ်လိုဖြတ်သန်းရမလဲ imagecreatetruecolor နှင့် imagealphablending ပုံရိပ်တွေရဲ့ stretCent သက်ရောက်မှုကိုအကောင်အထည်ဖော်ပါ?</span></span><span>
တည်နေ PHP Image processing စာကြည့်တိုက် GD အလယ်ပိုင်း,`</span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>()` နှင့် `</span><span><span class="hljs-title function_ invoke__">imagealphablending</span></span><span>()` ဒါဟာမကြာခဏအတူတကွအသုံးပြုကြသည်နှစ်ခုလုပ်ဆောင်ချက်များကိုဖြစ်ပါတယ်。它们能够帮助开发者တည်နေ生成图像时实现半透明效果,ဤသည်ပုံရိပ် superposition ပိုမိုသဘာဝကျစေသည်。本文将介绍它们的基本原理နှင့်实际应用。
</span><span><span class="hljs-comment">## 1. imagecreatetruecolor ၏အခန်းကဏ်။</span></span><span>
`</span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>()` စစ်မှန်သောအရောင်ပုံရိပ်အရင်းအမြစ်ကိုဖန်တီးရန်အသုံးပြုခဲ့သည်。နှင့် `</span><span><span class="hljs-title function_ invoke__">imagecreate</span></span><span>()` ကဲှကွာသော,它支持更多的颜色深度နှင့်更高的质量。အဆိုပါခေါ်ဆိုမှုနည်းလမ်းအောက်ပါအတိုင်းဖြစ်ပါတယ်:
```php
</span><span><span class="hljs-variable">$img</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">200</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>);
</span></span>ဤသည်နောက်ဆက်တွဲပုံဆွဲစစ်ဆင်ရေးသယ်ဆောင်ရန် 200 × 200 × 200 ဆယ့် 200 ကိုထုတ်ပေးပါတယ်။
အဆိုပါ imagealphableending () function ကိုရောနှော mode ကိုသတ်မှတ်ရန်အသုံးပြုသည်။ အကယ်. Blending Mode ကိုဖွင့်ထားပါက pixel အသစ်များသည်ပုံရိပ်သို့မဟုတ်အရောင်ကိုဆွဲယူသောအခါ pixel အသစ်များနှင့်ရောနှောထားပြီး,
ဥပမာအားဖြင့်:
<span><span><span class="hljs-title function_ invoke__">imagealphablending</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span></span>မှန်ကန်စွာ သတ်မှတ်သည့်အခါအရောင် overlays များသည်တိုက်ရိုက် overwriting ထက်ပွင့်လင်းမြင်သာမှုတွင်ရောနှောနေကြသည်။
ပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုများဖြင့် PNGS ကိုထုတ်လုပ်သောအခါပွင့်လင်းမြင်သာသောရုပ်သံလိုင်းကိုမှန်ကန်စွာသိမ်းဆည်းနိုင်ရန်အတွက်လည်း Imagesavealpha () ကို သုံးရန်လိုအပ်သည်။
<span><span><span class="hljs-title function_ invoke__">imagesavealpha</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span></span>ဤနည်းအားဖြင့် PNG ဖိုင်ကိုချွေတာသောအခါပွင့်လင်းမြင်သာသောအပိုင်းသည်အကျိုးသက်ရောက်လိမ့်မည်။
ဤတွင်စမှန်စတုဂံကိုထုတ်လုပ်ရန်ဥပမာအပြည့်အစုံဖြစ်သည်။
<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">$img</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">200</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>);
</span><span><span class="hljs-comment">// 开启混合模式နှင့်保存透明通道</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagealphablending</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagesavealpha</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-comment">// ပွင့်လင်းနောက်ခံ assign</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">$img</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-title function_ invoke__">imagefilledrectangle</span></span><span>(</span><span><span class="hljs-variable">$img</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">200</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>, </span><span><span class="hljs-variable">$transparent</span></span><span>);
</span><span><span class="hljs-comment">// Translucet အနီရောင်ဖြန့်ဝေ</span></span><span>
</span><span><span class="hljs-variable">$red</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocatealpha</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-number">255</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">75</span></span><span>);
</span><span><span class="hljs-comment">// စတုဂံဆွဲပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilledrectangle</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-number">150</span></span><span>, </span><span><span class="hljs-number">150</span></span><span>, </span><span><span class="hljs-variable">$red</span></span><span>);
</span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း PNG</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">$img</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>အထက်ပါကုဒ်ကိုဖွင့်ပြီးနောက် Browser သည် PNG ပုံရိပ်ကိုပွင့်လင်းမြင်သာသောနောက်ခံနှင့်စင်တာရှိအနီရောင်စတုဂံနှင့်အတူ PNG ပုံရိပ်ကိုပြလိမ့်မည်။
စိတ်ကူးယဉ်ဆန်ဆန် () နှင့် ImagesaveAvealpha () နှင့်ပေါင်းစပ်ထားသော isagecreatetuecolor () နှင့်ပေါင်းစပ်ထားသည့်အရည်အသွေးမြင့်ပန်းချီ () ကိုဖန်တီးပါ။ ဤနည်းစနစ်သည်ရေစာများ, အထူးသက်ရောက်မှုများပုံများသို့မဟုတ် UI ဒြပ်စင်များကိုထုတ်လုပ်သည့်အခါအထူးသဖြင့်အသုံးဝင်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုပေါင်းစပ်မှုကိုကျွမ်းကျင်စေရန် PHP ၏ပုံရိပ်ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်။ အစွမ်းထက်စေနိုင်သည်။