<?php
/**
* ဆောင်းပါးခေါင်းစဉ်:ဘယ်လိုနည်းနဲ့ CLI mode ကိုမှန်ကန်စွာအသုံးပြုပါ imageopenpolygon() လုပ်ဆောင်ချက်?အာရုံစူးစိုက်ရန်အချို့သောအရာတို့ဘာတွေလဲ?
*/
echo <<<ARTICLE
<h1>ဘယ်လိုနည်းနဲ့ CLI mode ကိုမှန်ကန်စွာအသုံးပြုပါ imageopenpolygon() လုပ်ဆောင်ချက်?အာရုံစူးစိုက်ရန်အချို့သောအရာတို့ဘာတွေလဲ?</h1>
<p><strong>နိဒါန်း:</strong></p>
<p>တည်နေ PHP အလယ်ပိုင်း,<code>imageopenpolygon()</code> ဟုတ်ကဲ့ GD ပွင့်လင်း polygons ဆွဲဘို့စာကြည့်တိုက်မှပေးထားသောနည်းလမ်း。虽然တည်နေ Web mode မှာ(browser ကိုဝင်ရောက်ခွင့်)အသုံးပြုရန်ပိုမိုများပြားသည်,但တည်နေ CLI(command line interface ကို)mode မှာ使用နာရီ也有很多实际应用,ဥပမာအားဖြင့်, အသုတ်ပုံရိပ်မျိုးဆက်、အလိုအလျောက် script များစသည်တို့。本篇文章将详细讲解တည်နေ CLI mode ကိုမှန်ကန်စွာအသုံးပြုပါ <code>imageopenpolygon()</code> နည်းလမ်း,နှင့်အချို့သောဘုံအန္တရာယ်များနှင့်ကြိုတင်ကာကွယ်မှုများထုတ်ပေး。</p>
<h2>တစ်、အခြေခံအသုံးပြုမှုကိုပြန်လည်သုံးသပ်ခြင်း</h2>
<p>先来看တစ်个简单示例:</p>
<pre><code class="php">
<?php
// 创建တစ်个画布
\$image = imagecreatetruecolor(400, 300);
// အရောင်များကိုသတ်မှတ်ပါ
\$white = imagecolorallocate(\$image, 255, 255, 255);
\$blue = imagecolorallocate(\$image, 0, 0, 255);
// နောက်ခံဖြည့်ပါ
imagefill(\$image, 0, 0, \$white);
// အမှတ်ခင်းကျင်းမှုကိုသတ်မှတ်ပါ
\$points = [
50, 50, // Point 1 (x, y)
150, 50, // Point 2
150, 150, // Point 3
50, 150 // Point 4
];
// ဖွင့်လှစ် polygons ဆွဲပါ
imageopenpolygon(\$image, \$points, count(\$points) / 2, \$blue);
// ရလဒ်များကိုသိမ်းဆည်းပါ
imagepng(\$image, '/tmp/openpolygon_example.png');
imagedestroy(\$image);
echo "ပုံရိပ်ထုတ်ပေး,သိမ်းဆည်းပါ /tmp/openpolygon_example.png\n";
?>
</code></pre>
<p>ကဲ့သို့果တည်နေ浏览器အလယ်ပိုင်း访问,ကျေးဇူးပြုပြီးထုတ်လုပ်ထားသောပုံသို့လမ်းကြောင်းမှန်ပေါ်သို့ရောက်အောင်သေချာအောင်လုပ်ပါ,ဥပမာအားဖြင့်, သင်ကဲ့သို့သောတစ်ခုခုကိုသုံးနိုင်သည် <a href="https://m66.net/tmp/openpolygon_example.png" target="_blank">https://m66.net/tmp/openpolygon_example.png</a> link ကိုကြည့်ရှုရန်。</p>
<h2>နှစ်、CLI mode မှာ使用的注意事项</h2>
<h3>1. ကွဲပြားခြားနားသော output ကိုနည်းလမ်းများ</h3>
<p>တည်နေ Web သဘာဝတွင်တွေ့ရှိမှုအခြေအနေ,များသောအားဖြင့်တိုက်ရိုက်သတ်မှတ် Content-Type အတွက် <code>image/png</code> 后输出နှစ်进制流;但တည်နေ CLI mode မှာ,ဒီအလေ့အကျင့်အကျိုးသက်ရောက်လိမ့်မည်မဟုတ်ပါ。应当直接保存အတွက်文件,အထက်ပါဥပမာမှာပြထားတဲ့အတိုင်း。</p>
<h3>2. အကြွင်းမဲ့လမ်းကြောင်း processing</h3>
<p>တည်နေ CLI mode မှာ,ဖိုင်များကိုဖတ်ခြင်းနှင့်ရေးသားခြင်းအတွက်အကြွင်းမဲ့လမ်းစဉ်များကိုအသုံးပြုခြင်းသည်အကောင်းဆုံးဖြစ်သည်။,ကွဲပြားခြားနားသောလုပ်ငန်းဆောင်သောလမ်းညွှန်များကြောင့်မှားယွင်းသောဖိုင်များကိုရှာဖွေခြင်းသို့မဟုတ်သိမ်းဆည်းခြင်းမပြုပါနှင့်。ဥပမာအားဖြင့်:</p>
<pre><code class="php">
// မှန်ကန်သောဥပမာ
\$savePath = '/tmp/openpolygon_example.png';
imagepng(\$image, \$savePath);
</code></pre>
<p>ဆွေမျိုးလမ်းကြောင်းအပေါ်အားကိုးကြဘူး,ကဲ့သို့ <code>./image.png</code>,သင်လက်ရှိအလုပ်လုပ် directory ကိုသိမဟုတ်လျှင်。</p>
<h3>3. ဇာတ်ကောင် encoding ပြ problem နာ</h3>
<p>CLI mode မှာ输出အလယ်ပိုင်း文(ကဲ့သို့路径、ချက်ချင်းသတင်းအချက်အလက်)နာရီ,terminal encoding ကိုအာရုံစိုက်ပါ。建议统တစ်使用 UTF-8 ကုဒ်,并တည်နေ PHP File Top Statement:</p>
<pre><code class="php">
header('Content-Type: text/plain; charset=UTF-8');
</code></pre>
<p>ဒါပေမယ့်သတိထားပါ:<code>header()</code> လုပ်ဆောင်ချက်တည်နေ纯 CLI mode ကိုအကျိုးသက်ရောက်လိမ့်မည်မဟုတ်ပါ,所以更应该တည်နေ写文件နာရီ确保ကုဒ်တစ်致。</p>
<h3>4. စစ်ဆေးကြည့်ရှု GD 库ဟုတ်ကဲ့否可用</h3>
<p>CLI mode မှာ PHP အဆိုပါ configuration နှင့်ဆက်စပ်သောဖြစ်နိုင်သည် Web ကွဲပြားခြားနားသော mode များ,အတည်ပြုရန်သေချာပါစေ GD စာကြည့်တိုက်ကိုဖွင့်ထားသည်。可以通过执行以下命令စစ်ဆေးကြည့်ရှု:</p>
<pre><code>
php -m | grep gd
</code></pre>
<p>ကဲ့သို့果没有输出,说明需要တည်နေ CLI ကိုက်သော php.ini အလယ်ပိုင်း开启 GD တိုးချဲ့。</p>
<h2>သုံး、အကျဉ်းချုပ်</h2>
<p>တည်နေ CLI mode ကိုမှန်ကန်စွာအသုံးပြုပါ <code>imageopenpolygon()</code>,核心ဟုတ်ကဲ့:</p>
<ul>
<li>图像保存而不ဟုတ်ကဲ့直接输出。</li>
<li>အကြွင်းမဲ့လမ်းကြောင်းကိုသုံးပါ。</li>
<li>အတည်ပြု GD အဆိုပါစာကြည့်တိုက်ကို loaded ပါပြီ。</li>
<li>注意终端的字符ကုဒ်处理。</li>
</ul>
<p>အထက်ပါအချက်များကျွမ်းကျင်,就能တည်နေ各种自动化脚本或批量处理任务အလယ်ပိုင်း灵活应用 <code>imageopenpolygon()</code> အဲဒါ。ကဲ့သို့果想အဲဒါ解更多有关 GD စာကြည့်တိုက်များအသုံးပြုရန်အဆင့်မြင့်အချက်များ,သင်သည်တရားဝင်လက်စွဲစာအုပ်သို့မဟုတ်လည်ပတ်မှုကိုရည်ညွှန်းနိုင်သည် <a href="https://m66.net/php/gd-manual.html" target="_blank">https://m66.net/php/gd-manual.html</a>。</p>
ARTICLE;