PHP တွင် processing images များသည်များသောအားဖြင့် GD စာကြည့်တိုက်ကိုအသုံးပြုလေ့ရှိသည်။ ၎င်းသည် GD စာကြည့်တိုက်ကိုအသုံးပြုသည်။ ImagePalettetotRuecolor သည် Palette ပုံရိပ်များကိုစစ်မှန်သောအရောင်ပုံရိပ်များသို့ပြောင်းရန် GD စာကြည့်တိုက်တွင်အသုံးများသော function တစ်ခုဖြစ်သည်။ ဒီ function ဟာပုံရိပ်တွေပြောင်းလဲခြင်း, ရုပ်ပုံပုံစံများကိုပြောင်းလဲခြင်း,
သို့သော်, စစ်မှန်သောအရောင်ပုံရိပ်သို့ကူးပြောင်းပြီးနောက်ရုပ်ပုံကို PNG format နှင့်မည်သို့သိမ်းဆည်းရမည်နည်း။ နောက်တစ်ခုက imagepalettetotriecolor function ကိုသုံးပြီးပြီးတဲ့နောက်မှာငါတို့ရဲ့ပုံကို PNG format နဲ့ဘယ်လိုသိမ်းဆည်းရမလဲ။
ပထမ ဦး စွာသင့်တွင် palette image အရင်းအမြစ်ရှိပြီးသားဆိုပါစို့။ ပုံရိပ်အရင်းအမြစ်များကိုဖန်တီးရန်ကျွန်ုပ်တို့သည် imagecreatfressmptcomefinfrompinmpng သို့မဟုတ်အခြားဆက်စပ်လုပ်ဆောင်ချက်များကိုသုံးနိုင်သည်။ ဤပုံရိပ်အရင်းအမြစ်သည်များသောအားဖြင့် pixel တစ်ခုဖြစ်သော pixel တစ်ခုစီကို RGB အရောင်များကိုအသုံးပြုမည့်အစားအရောင်အညွှန်းကိန်းဖြင့်ကိုယ်စားပြုသည်။
<span><span><span class="hljs-variable">$img</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-string">'input_image.png'</span></span><span>);
</span></span>
ထို့နောက် palette image ကိုစစ်မှန်တဲ့အရောင်ပုံရိပ်သို့ပြောင်းရန် imagepalettetotriecolor function ကိုသုံးပါ။ ၎င်းသည်ပုံ၏အရောင်အနက်ကို palette mode (များသောအားဖြင့် 8-bit) မှ 24-bit true color mode သို့ပြောင်းလဲလိမ့်မည်။
<span><span><span class="hljs-title function_ invoke__">imagepalettetotruecolor</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>);
</span></span>
ဤအချိန်တွင်မူရင်း palette image သည်အရောင်အသွေးအသေးစိတ်ကိုပေးနိုင်သည့်စစ်မှန်သောအရောင်ပုံရိပ်သို့ပြောင်းလဲလိမ့်မည်။
ယခုတွင်သင်သည်စစ်မှန်သောအရောင်ပုံရိပ်အရင်းအမြစ်ရှိကြောင်း, isionpng လုပ်ဆောင်မှုကိုအသုံးပြုပြီး PNG format ကိုသင်သိမ်းဆည်းနိုင်သည်။ ImagePng လုပ်ဆောင်ချက်သည်ဓာတ်ပုံကို PNG Format တွင်သိမ်းဆည်းထားပြီးပွင့်လင်းမြင်သာမှုနှင့်အခြား PNG သတ်သတ်မှတ်မှတ်လုပ်ဆောင်ချက်များကိုထောက်ပံ့သည်။
<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-string">'output_image.png'</span></span><span>);
</span></span>
ဤအချက်မှာပုံသည် adpromput_image.png ဖိုင်အနေဖြင့်သိမ်းဆည်းထားလိမ့်မည်။ ပုံသည်၎င်း၏ပွင့်လင်းမြင်သာမှုကိုဆက်လက်ထိန်းသိမ်းထားလိမ့်မည်။
Palette image ကိုစစ်မှန်တဲ့အရောင်ပုံရိပ်တစ်ခုသို့ပြောင်းလဲရန်နှင့် PNG format ကိုမည်သို့ပြောင်းလဲရမည်ကိုပြသသောပြည့်စုံသောဥပမာတစ်ခုရှိသည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// palette ပုံရိပ်တွေတင်</span></span><span>
</span><span><span class="hljs-variable">$img</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-string">'input_image.png'</span></span><span>);
</span><span><span class="hljs-comment">// ပုံရိပ်ကိုအောင်မြင်စွာတင်ဆောင်လျှင်စစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$img</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"ပုံရိပ်ကို တင်. မရပါ!"</span></span><span>);
}
</span><span><span class="hljs-comment">// Palaette ပုံရိပ်များကိုစစ်မှန်တဲ့အရောင်ပုံရိပ်တွေသို့ပြောင်းပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagepalettetotruecolor</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>);
</span><span><span class="hljs-comment">// ပုံကိုသိမ်းဆည်းပါ PNG ပမာဏ</span></span><span>
</span><span><span class="hljs-keyword">if</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-string">'output_image.png'</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ပုံရိပ်ကိုအောင်မြင်စွာသိမ်းဆည်းထားပြီးဖြစ်သည် output_image.png"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ပုံကိုသိမ်းရန်ပျက်ကွက်ခဲ့သည်!"</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">$img</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ImagePalettetotRuecolor function ကိုသာ palette ပုံရိပ်များအတွက်သာလျှောက်ထားနိုင်ပြီးပြောင်းလဲထားသောပုံရိပ်သည် 24-bit RGB Image ဖြစ်သည်။
အကယ်. သင်သည်ပုံကိုအချိန်တိုအတွင်းသိမ်းဆည်းခြင်းသို့မဟုတ်ပုံရိပ်အရင်းအမြစ်များကိုပြောင်းလဲပြီးနောက်ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီးခြင်းမပြုပါက၎င်းသည်မှတ်ဉာဏ်ယိုစိမ့်မှုကိုဖြစ်စေနိုင်သည်။
ImagePng ကို အသုံးပြုသောအခါရုပ်ပုံ၏ compression level ကိုညှိရန်သင့်တွင်အရည်အသွေးမြင့်သော parameter သည် (0 နှင့် 9 ကြားအကြား) ကိုဖြတ်သွားနိုင်သည်။ ဥပမာအားဖြင့်, ImagePng ($ IMG, 'output_image.png', 9), အမြင့်ဆုံးချုံ့ခြင်းကိုဆိုလိုသည်။
ImagePalettetotRuecolor function ကိုအသုံးပြုခြင်းအားဖြင့် palette image ကို image ၏အရောင်ဖျော်ဖြေမှုပိုမိုနူးညံ့သိမ်မွေ့သောစစ်မှန်သောအရောင်ပုံရိပ်သို့ပြောင်းလဲနိုင်သည်။ ပြောင်းလဲခြင်းသည်ပြည့်စုံသည်နှင့်အမျှ imagePng function ကို အသုံးပြု. PNG format ကို PNG format ကိုအလွယ်တကူသိမ်းဆည်းနိုင်သည်။