လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ImagePalettetotRuecolor function ကိုအသုံးပြုရန်ပုံရိပ်တစ်ခုလိုအပ်လျှင်မည်သို့ပြောရမည်ကိုသင်သိပါသလား။

ImagePalettetotRuecolor function ကိုအသုံးပြုရန်ပုံရိပ်တစ်ခုလိုအပ်လျှင်မည်သို့ပြောရမည်ကိုသင်သိပါသလား။

gitbox 2025-08-30
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ဤအပိုင်းသည်ဆောင်းပါး၏အကြောင်းအရာနှင့်မသက်ဆိုင်ပါ,ပရိုဂရမ်၏ initialization သို့မဟုတ် configuration code ကိုသင်နေရာချနိုင်သည်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">error_reporting</span></span><span>(E_ALL);
</span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'display_errors'</span></span><span>, </span><span><span class="hljs-number">1</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">/*
 * ပုံတစ်ပုံကိုသုံးရန်လိုလျှင်မည်သို့ပြောရမည်ကိုသင်သိပါသလားသိလားimagepalettetotruecolorလုပ်ဆောင်ချက်?
 *
 * တည်နေPHPပုံရိပ်တွေကို processing အခါ,အထူးသဖြင့်အသုံးပြုရန်အတွက်GDစာကြည့်တိုက် operating အခါ,
 * ကျနော်တို့မကြာခဏ palette ပုံရိပ်တွေကြုံတွေ့ရ(palette-based image)နှင့်စစ်မှန်သောအရောင်ပုံရိပ်တွေ(truecolor image)နှစ်ခုကွဲပြားခြားနားသောအမျိုးအစားများ。
 * imagepalettetotruecolorလုပ်ဆောင်ချက်就是用来将palette图像转换成真彩色图像的တစ်个重要工具。
 *
 * ထိုမှျ,ပုံတစ်ပုံကိုခေါ်ရန်လိုအပ်သည်ကိုမည်သို့ဆုံးဖြတ်ရမည်နည်းimagepalettetotruecolorလုပ်ဆောင်ချက်呢?
 * 
 * တစ်、palette image တစ်ခုနှင့်စစ်မှန်တဲ့အရောင်ပုံရိပ်ကဘာလဲ?
 * palette images သည်ပုံတွင်အသုံးပြုသောအရောင်အညွှန်းကိန်းကိုရည်ညွှန်းသည်(palette)တိုက်ရိုက်သိုလှောင်မှု၏RGBအဘိုး,များသောအားဖြင့်အရောင်အရေအတွက်ကန့်သတ်ထားသည်。
 * Pixel တစ်ခုစီတွင်စစ်မှန်သောအရောင်ပုံရိပ်များကိုတိုက်ရိုက်သိမ်းဆည်းထားသည်။RGBအဘိုး,ပိုမိုမြင့်မားအရောင်ကြွယ်ဝမှု,နှင့်ပြောင်းလွယ်ပြင်လွယ်စစ်ဆင်ရေး。
 *
 * နှစ်、အဘယ်ကြောင့်ပြောင်းလဲရန်လိုအပ်သည်?
 * အချို့သောပုံလှုပ်ရှားမှုများသည်စစ်မှန်သောအရောင်ရုပ်ပုံများကိုသာထိရောက်နိုင်သည်,ဥပမာအားဖြင့်alphaရုပ်သံထုတ်ခြင်း、gradient မျိုးဆက်စသည်တို့。
 * 如果直接操作palette图像,အကျိုးသက်ရောက်မှုများကန့်သတ်သို့မဟုတ်မရနိုင်ပါဖြစ်နိုင်သည်。
 *
 * သုံး、ဘယ်လိုစီရင်ရမလဲ?
 * PHP GD库提供了လုပ်ဆောင်ချက်imagesetthickness()ပုံရိပ်ဂုဏ်သတ္တိများကိုစောင့်ပါ,但判断图像是否为palette图像,
 * 其实可以直接调用လုပ်ဆောင်ချက်:imageistruecolor()
 *
 * - imageistruecolor($image) 返回布尔အဘိုး:
 *    - true 表示图像是တစ်个真彩色图像
 *    - false 表示是palette图像
 *
 * Code Page:
 */</span>

</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">ensureTrueColor</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$imgResource</span></span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">imageistruecolor</span></span><span>(</span><span><span class="hljs-variable">$imgResource</span></span><span>)) {
        </span><span><span class="hljs-variable">$trueColorImg</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagepalettetotruecolor</span></span><span>(</span><span><span class="hljs-variable">$imgResource</span></span><span>);
        </span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$imgResource</span></span><span>); </span><span><span class="hljs-comment">// မူရင်းပုံရိပ်အရင်းအမြစ်များကိုလွှတ်ပါ</span></span><span>
        </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$trueColorImg</span></span><span>;
    }
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$imgResource</span></span><span>;
}

<span class="hljs-comment">/*
 * 以上လုပ်ဆောင်ချက်接收တစ်个图像资源,အကယ်. ၎င်းသည်စစ်မှန်သောအရောင်ပုံရိပ်မဟုတ်ပါ,၎င်းကိုစစ်မှန်သောအရောင်ပုံရိပ်သို့ပြောင်းပါ。
 * 这တစ်步骤တည်နေ处理PNG、GIF等palette图像时非常常用。
 *
 * လေး、အကျဉ်းချုပ်
 * အဲဒါကိုအသုံးပြုရန်လိုအပ်မလိုအပ်ကြောင်းဆုံးဖြတ်ရန်imagepalettetotruecolorလုပ်ဆောင်ချက်的关键点တည်နေ于调用imageistruecolorလုပ်ဆောင်ချက်,
 * ပြန်လာလျှင်false,၎င်းကိုစစ်မှန်သောအရောင်ပုံရိပ်သို့ပြောင်းလဲသင့်သည်,နောက်ဆက်တွဲပုံရိပ်အပြောင်းအလဲနဲ့၏အကျိုးသက်ရောက်မှုနှင့်လိုက်ဖက်တဲ့သေချာစေရန်。
 *
 * ထိုမှျ,သင်သည်အမျိုးမျိုးသောပုံရိပ်အရင်းအမြစ်များကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်,ကွဲပြားခြားနားသောပုံအမျိုးအစားများကြောင့်လိုက်ဖက်တဲ့ပြ issues နာများကိုရှောင်ကြဉ်ပါ。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>