လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PNG ရုပ်ပုံ၏အရောင်များကိုအတူတကွပေါင်းစပ်ရန်စိတ်ကူးယဉ်ပုံနှင့် imagecreatforempng လုပ်ဆောင်မှုများကိုမည်သို့အသုံးပြုရမည်နည်း။

PNG ရုပ်ပုံ၏အရောင်များကိုအတူတကွပေါင်းစပ်ရန်စိတ်ကူးယဉ်ပုံနှင့် imagecreatforempng လုပ်ဆောင်မှုများကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-07-18

1 ။ နိဒါန်း

Image processing တွင်ပုံတစ်ပုံတွင်ပါရှိသောအရောင်အရေအတွက်ကိုနားလည်ရန်ဘုံလိုအပ်ချက်ဖြစ်သည်။ PNG Images များအတွက် PNG Format သည်ပွင့်လင်းမြင်သာမှုနှင့်အရောင်ပုံစံမျိုးစုံများကိုထောက်ပံ့ပေးသောကြောင့်ဤလုပ်ငန်းစဉ်သည်အနည်းငယ်ရှုပ်ထွေးသည်။ ကံကောင်းထောက်မစွာပင် PHP သည်ဤအချက်အလက်ကိုအလွယ်တကူရရှိနိုင်စေရန်အတွက် built-in function များကိုထောက်ပံ့ပေးသည်။

ဤဆောင်းပါးသည် PNG ပုံရိပ်တွင်အရောင်များကိုရရှိရန်စိတ်ကူးများကို အသုံးပြု. စိတ်ကူး ယဉ် ပုံရိပ် သုံးခုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။

2 ။ အဓိကလုပ်ဆောင်ချက်များကိုနိဒါန်း

2.1 imagecreatfressmmng function ကို

PNG ဖိုင်တစ်ခုမှပုံရိပ်အရင်းအမြစ်တစ်ခုကိုဖန်တီးရန် ImagecreatFroferTefinfromFifmptpng လုပ်ဆောင်ချက်ကိုအသုံးပြုသည်။ ၎င်း၏လုပ်ဆောင်ချက်မှာ PNG ပုံရိပ်ကိုဖတ်ပြီး PHP လုပ်နိုင်သည့်ပုံရိပ်အရင်းအမြစ်တစ်ခုအဖြစ်ပြောင်းလဲရန်ဖြစ်သည်။ ထို့နောက်ကျွန်ုပ်တို့သည်ဤပုံရိပ်အရင်းအမြစ်တွင်အမျိုးမျိုးလုပ်ဆောင်နိုင်မှုအမျိုးမျိုးကိုလုပ်ဆောင်နိုင်သည်။

function ရှေ့ပြေးပုံစံ:

 <span><span>resource </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span>);
</span></span>

Parametermer

  • $ filename : PNG image file သို့လမ်းကြောင်း။

Value ကိုပြန်သွားပါ

  • အောင်မြင်သောအခါပုံကြမ်းအရင်းအမြစ်ကိုပြန်ပို့ပါ။ ပျက်ကွက်သောအခါ မှားယွင်းသော ပြန်လာ။

2.2 imagecolorstotal function ကို

Imagecolorstotal function သည်ပုံတစ်ပုံတွင်အသုံးပြုသောအရောင်အမျိုးမျိုးရှိသောစုစုပေါင်းအရေအတွက်ကိုပြန်ပို့သည်။ ၎င်းသည်အရောင်အရေအတွက်ကိုတွက်ချက်ရန် Image ၏အရောင် palette ပေါ်တွင်အခြေခံသည်။ ထို့ကြောင့်၎င်းသည်အရောင်များအရောင်ပုံစံများဖြင့်ရုပ်ပုံများအတွက်အလုပ်လုပ်သည်။

function ရှေ့ပြေးပုံစံ:

 <span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagecolorstotal</span></span><span>(resource </span><span><span class="hljs-variable">$image</span></span><span>);
</span></span>

Parametermer

  • $ Image : Image image အရင်းအမြစ်။

Value ကိုပြန်သွားပါ

  • ပုံတွင်အသုံးပြုသောအရောင်များစုစုပေါင်းအရေအတွက်ကိုပြန်ပို့သည်။ ပုံသည် (ဥပမာ RGB ကဲ့သို့) တိုက်ရိုက်အရောင် mode ကိုအသုံးပြုနေပါကဤတန်ဖိုးသည် 0 0 ဖြစ်သည်။

3 ။ ဤလုပ်ဆောင်ချက်များကိုအသုံးပြုပါ PNG ပုံရိပ်အရောင်များကိုရယူပါ

ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် PNG ပုံတွင်အရောင်အရေအတွက်ကိုအလွယ်တကူရနိုင်သည်။ တိကျသောအဆင့်များမှာအောက်ပါအတိုင်းဖြစ်သည် -

  1. png image file တစ်ခုကိုဖွင့ ်. image အရင်းအမြစ်များကိုရယူပါ

  2. ပုံတွင်အသုံးပြုသောအရောင်များစုစုပေါင်းကိုရရှိရန် imagecolorstotal function ကိုသုံးပါ။

  3. ရလဒ်ရလဒ်။

4 ။ နမူနာကုဒ်

ဤတွင် PNG ပုံရိပ်တွင်အရောင်အရေအတွက်ကိုရရှိရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုပြသသောနမူနာကုဒ်တစ်ခုမှာဤတွင်ဖော်ပြထားသည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// တည်ဆောက်သည် PNG image file path</span></span><span>
</span><span><span class="hljs-variable">$imagePath</span></span><span> = </span><span><span class="hljs-string">'example.png'</span></span><span>;

</span><span><span class="hljs-comment">// ကြိုးစားကြည့်ပါ PNG ဖန်တီးမှုပုံရိပ်အရင်းအမြစ်များဖိုင်</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-variable">$imagePath</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">$image</span></span><span> === </span><span><span class="hljs-literal">false</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-keyword">exit</span></span><span>;
}

</span><span><span class="hljs-comment">// ပုံတွင်အသုံးပြုသောအရောင်အရေအတွက်ကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$colorCount</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorstotal</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);

</span><span><span class="hljs-comment">// output ကိုအရောင်နံပါတ်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"သင့် PNG ပုံတွင်ပါ 0 င်သောအရောင်များစုစုပေါင်းအရေအတွက်ဖြစ်သည်: "</span></span><span> . </span><span><span class="hljs-variable">$colorCount</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">$image</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

5 ။ code ခွဲခြမ်းစိတ်ဖြာ

  1. Image Resource Creation : သတ်မှတ်ထားသော PNG ဖိုင်ကို imagecreatfressmmginmpng function မှတဆင့် $ Image Variable ထဲသို့တင်ပါ။ အကယ်. ပုံဖိုင်ဖိုင်လမ်းကြောင်းမမှန်ကန်ပါကသို့မဟုတ်ဖိုင်ကိုမဖတ်နိုင်ပါက function သည် မှားယွင်း လာလိမ့်မည်။

  2. အရောင်အရေအတွက်ကိုရယူပါImagecolorstotal function သည်ပုံတွင်အသုံးပြုသောအရောင်အမျိုးမျိုးကိုပြန်ပေးသည်။ PNG Images များအတွက်အထူးသဖြင့် indexed color mode ကိုသုံးသော PNGS သည်ပြန်လည်ရောက်ရှိသည့်အရောင်အရေအတွက်သည်သုညမဟုတ်ပါ။ အကယ်. ပုံသည်တိုက်ရိုက်အရောင်ဖြင့်အသုံးပြုသည် (ဥပမာ RGB ကဲ့သို့) သည် 0 function ကို 0 ယ်သည်။

  3. အခမဲ့အရင်းအမြစ် - နောက်ဆုံးတွင် Memory ယိုစိမ့်မှုများကိုရှောင်ရှားရန် image image အရင်းအမြစ်များကိုလွှတ်ပေးရန် Imagedestroy function ကိုသုံးပါ။

6 ။ မှတ်စုဖို့အရာ

  • အကယ်. ပုံသည် palette (i.e. , indexed အရောင် mode) ကိုအသုံးပြုနေသည်ဆိုပါက imagecolorstotal သည် အမှန်တကယ်အရောင်များကိုပြန်လည်ရောက်ရှိစေသည်။ သို့သော်ပုံသည်တိုက်ရိုက်အရောင်အရောင် (RGB) ကိုအသုံးပြုသည်ဆိုပါကဤလုပ်ဆောင်ချက်သည် 0 သို့ပြန်သွားလိမ့်မည်။ ထို့ကြောင့်၎င်းကိုအသုံးပြုသောအခါပုံ၏အရောင် mode ကိုအာရုံစိုက်ရန်လိုအပ်သည်။

  • သင်ကိုင်တွယ်သည့်ပုံဖိုင်များသည်များသောအားဖြင့်ကြီးမားသောသို့မဟုတ်မကြာခဏလုပ်ငန်းများကိုလိုအပ်ပါက,

7 ။ အကျဉ်းချုပ်

Imagecreatfinfinmpng နှင့် imagecolorstotal function များကိုအသုံးပြုခြင်းအားဖြင့် PHP သည် PNG ရုပ်ပုံ၏အရောင်များကိုရရှိရန်လွယ်ကူပြီးထိရောက်သောနည်းလမ်းကိုထောက်ပံ့ပေးသည်။ ၎င်းသည်ပုံခွဲခြမ်းစိတ်ဖြာခြင်း, အကောင်းမြင်ခြင်းနှင့်အပြောင်းအလဲနဲ့အတွက်အလွန်အသုံးဝင်သည်။ ဒီဆောင်းပါးကဒီလုပ်ဆောင်ချက်နှစ်ခုကိုပိုမိုနားလည်ပြီးသင့်ရဲ့စီမံကိန်းမှာသူတို့ကိုကျင့်သုံးမယ်ဆိုတဲ့ဒီဆောင်းပါးကကူညီပေးပါမယ်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    PNG