လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> importipeOborder ကို အသုံးပြု. ပွင့်လင်းမြင်သာသောနောက်ခံတွင်ဖြည့်သည့်အခါမှတ်သားရန်အဓိကပြ issues နာများ

importipeOborder ကို အသုံးပြု. ပွင့်လင်းမြင်သာသောနောက်ခံတွင်ဖြည့်သည့်အခါမှတ်သားရန်အဓိကပြ issues နာများ

gitbox 2025-08-27
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ဆောင်းပါး၏အစ:စာသားနှင့်ဘာမှမဆိုင်ပါဘူးPHPCode Page</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဒီနည်းပညာပိုင်းဆိုင်ရာမျှဝေခြင်းကိုဖတ်ရှုဖို့ကြိုဆိုပါတယ်!&lt;br&gt;"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဤဆောင်းပါးသည်ရှင်းပြခြင်းအပေါ်အာရုံစူးစိုက်ပါလိမ့်မည် PHP အလယ်ပိုင်း imagefilltoborder ပွင့်လင်းသောနောက်ခံတွင် function ကိုဖြည့်စွက်သည့်အခါမှတ်သားရန်အချက်များ。"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/*
 * အသုံးပြု imagefilltoborder 在透明背景အလယ်ပိုင်း填充နာရီ需要注意၏关键问题
 *
 * PHP ၏ GD 库အလယ်ပိုင်း,imagefilltoborder function ကိုအစမှတ်မှစတင်သောသတ်မှတ်ထားသောအရောင်နှင့်အတူဖြည့်ရန်အသုံးပြုသည်,直ရောက်လာ遇ရောက်လာ边界颜色为止၏区域。
 * သို့သော်ပွင့်လင်းနောက်ခံနှင့်ဆက်ဆံသောအခါ,往往会遇ရောက်လာ填充不生效或填充区域异常၏问题。
 *
 * ဤဆောင်းပါးသည်ဤအဓိကပြ issues နာများကိုခွဲခြမ်းစိတ်ဖြာပါလိမ့်မည်,နှင့်အဖြေတစ်ခုပေးပါ。
 */</span>

<span class="hljs-comment">/**
 * 1. 透明背景၏颜色边界判断问题
 *
 * imagefilltoborder 函数၏第三个参数ဟုတ်ကဲ့边界颜色(border color)。
 * 这个颜色用于确定填充区域၏边界。
 * ပုံတစ်ပုံပွင့်လင်းနောက်ခံဖြစ်ပါတယ်ဆိုပါက,နယ်စပ်အရောင်မကြာခဏပွင့်လင်းသည်(alpha အတန်း),
 * နှင့် imagefilltoborder အရောင်အသွေးကိုစစ်ဆေးသည့်အခါပွင့်လင်းမြင်သာမှုကိုထည့်သွင်းစဉ်းစားသည်,
 * နယ်နိမိတ်အရောင်နှင့်ပွင့်လင်းနောက်ခံအရောင်သည်ကိုက်ညီမှုရှိနိုင်သည်,နယ်နိမိတ်ကိုမဖော်ပြနိုင်ပါ。
 *
 * အဖေြ:
 * - 明确အသုံးပြုလုံးဝပွင့်လင်း၏颜色索引作为边界颜色。
 * - ရုပ်ပုံများကိုဖန်တီးသောအခါပွင့်လင်းမြင်သာသောအရောင်အညွှန်းများကိုသေချာစွာသိမ်းဆည်းထားကြောင်းသေချာပါစေ。
 *
 * Code Page:
 */</span>

</span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>;
</span><span><span class="hljs-variable">$height</span></span><span> = </span><span><span class="hljs-number">100</span></span><span>;
</span><span><span class="hljs-variable">$image</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-comment">// စွမ်းဆောင်နိုင်စေ alpha အတန်း支持</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagesavealpha</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);

</span><span><span class="hljs-comment">// လုံးဝပွင့်လင်းအရောင်ဖန်တီးပါ</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">$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">$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">// ဖြည့်အရောင်ဖန်တီးပါ(နီသော)</span></span><span>
</span><span><span class="hljs-variable">$fillColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</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-comment">// အသုံးပြု透明颜色作为边界颜色,ကိုသွဒီနိတ်မှဖြည့်ပါ(10,10)开始၏区域</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefilltoborder</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-variable">$transparent</span></span><span>, </span><span><span class="hljs-variable">$fillColor</span></span><span>);

</span><span><span class="hljs-comment">// ကြည့်ရှုရန် 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">$image</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);

<span class="hljs-comment">/**
 * 2. မှတ်ချက်:图像必须စွမ်းဆောင်နိုင်စေ alpha အတန်း并保持透明色
 *
 * မခေါ်လျှင် imagesavealpha($image, true),
 * ပုံရိပ်ကိုအစပိုင်းတွင်ပွင့်လင်းမြင်သာမှုနှင့်ပြည့်စုံလျှင်ပင်,ထို့အပြင် opaque နောက်ခံအဖြစ်ကုသ,
 * နယ်နိမိတ်အသိအမှတ်ပြုအမှားကိုဖြည့်စွက်。
 *
 * 3. အသုံးပြု imagecolorallocatealpha ပွင့်လင်းမြင်သာသောအရောင်များကိုချိန်ညှိသောအခါ Transparency Parameters တွေကိုအာရုံစိုက်ပါ
 *
 * Transparency Range ဖြစ်ပါတယ် 0(opaque)ရောက်လာ 127(လုံးဝပွင့်လင်း),
 * 需要确保边界颜色၏ alpha တန်ဖိုးသည်နောက်ခံပွင့်လင်းမြင်သာမှုနှင့်တသမတ်တည်းကိုက်ညီသည်,ဒီလိုမှမဟုတ်ရင်တရားသဖြင့်စီရင်ပျက်ကွက်ပါလိမ့်မယ်。
 *
 * 4. 边界颜色与起始点颜色၏关系
 *
 * imagefilltoborder ဟုတ်ကဲ့“အစမှတ်မှဖြည့်ပါ,直ရောက်လာ遇ရောက်လာ边界颜色为止”,
 * အစမှတ်၏အရောင်နှင့်နယ်နိမိတ်အရောင်တူညီလျှင်,ဖြည့်စွက်ခြင်းမရှိပါ。
 * ထို့ကြောင့်အစမှတ်အရောင်နှင့်နယ်နိမိတ်အရောင်သည်ကွဲပြားခြားနားကြောင်းသေချာစေရန်လိုအပ်သည်。
 *
 * 5. လိုက်ဖက်တဲ့နှင့်အခြားနည်းလမ်းများ
 *
 * GD စာကြည့်တိုက်သည်ပွင့်လင်းမြင်သာမှုအပြောင်းအလဲအတွက်အကန့်အသတ်ရှိသည်,ရှုပ်ထွေးသောပုံရိပ်အပြောင်းအလဲနဲ့လိုအပ်ပါက,
 * 可考虑အသုံးပြု Imagick 等更强大၏库。
 *
 * အကျဉ်းချုပ်:
 * 在透明背景အလယ်ပိုင်းအသုံးပြု imagefilltoborder နာရီ,关键ဟုတ်ကဲ့要正确创建透明边界颜色,
 * 并စွမ်းဆောင်နိုင်စေ alpha အတန်း保存,နယ်စပ်အရောင်ကိုပွင့်လင်းမြင်သာသောနောက်ခံအရောင်နှင့်တင်းကြပ်စွာလိုက်ဖက်သည်ကိုသေချာစေပါ。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>