PHP တွင် Image processing သည်အထူးသဖြင့် 0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှု, ပြောင်းလဲနေသောရုပ်ပုံများ, PHP သည်ပုံရိပ်ထုတ်ယူခြင်းလုပ်ဆောင်ချက်များစွာကိုထောက်ပံ့ပေးသည်။ Imagewbmp နှင့် Imageecopy သည် ရုပ်ပုံများကိုဖန်တီးရန်သို့မဟုတ်တည်းဖြတ်ရန်အတွက်အသုံးပြုသောလက်တွေ့လုပ်ဆောင်ချက်နှစ်ခုအနက်နှစ်ခုဖြစ်သည်။
ImageWbmp သည် PHPG GD စာကြည့်တိုက်တွင်ရုပ်ပုံများကို WBMP format ဖြင့်ထုတ်ယူရန်အတွက်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ WBMP (ကြိုးမဲ့ bitmap) သည်အရည်အသွေးနိမ့်ကျသည့်အရောင်အသွေးစုံလင်သောပုံရိပ်ပုံစံဖြစ်သည်။ Imagewbmp function ၏လုပ်ဆောင်ချက်မှာ GD image အရင်းအမြစ်များကို WBMP format နှင့် output ထဲသို့ပြောင်းလဲရန်ဖြစ်သည်။
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagewbmp</span></span><span>(resource </span><span><span class="hljs-variable">$image</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><span class="hljs-literal">NULL</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$threshold</span></span><span> = </span><span><span class="hljs-number">128</span></span><span>);
</span></span>$ Image : output ဖြစ်ရန်ပုံရိပ်အရင်းအမြစ်။
$ filename : ပုံကိုသိမ်းရန်လမ်းကြောင်း။ မထောက်ပံ့လျှင်ပုံသည် browser ကိုတိုက်ရိုက်ထုတ်လွှင့်လိမ့်မည်။
$ threshold : optional parameter သည် pixel အနက်ရောင်ရှိမရှိဆုံးဖြတ်ရန်တံခါးခုံကိုသတ်မှတ်ပါ။ ပုံသေတန်ဖိုးမှာ 128 ဖြစ်ပြီးတန်ဖိုးသေးငယ်သည်,
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အလွတ်တစ်ခုဖန်တီးပါ</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-number">100</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);
</span><span><span class="hljs-comment">// နောက်ခံအရောင်ကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$bgColor</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">255</span></span><span>, </span><span><span class="hljs-number">255</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">$bgColor</span></span><span>);
</span><span><span class="hljs-comment">// ရှေ့တန်းအရောင်ကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$black</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">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-comment">// ရိုးရှင်းသောစတုဂံဆွဲပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagerectangle</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-number">90</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>, </span><span><span class="hljs-variable">$black</span></span><span>);
</span><span><span class="hljs-comment">// output ကိုဖြစ်ပါတယ် WBMP ပမာဏ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagewbmp</span></span><span>(</span><span><span class="hljs-variable">$image</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">?></span></span><span>
</span></span>ပုံရိပ်တစ်ခု၏အစိတ်အပိုင်းများကိုအခြားတစ်ခုသို့ကူးယူရန် စိတ်ကူးယဉ် လုပ်ဆောင်မှုကိုအသုံးပြုသည်။ ဤအရာသည်ပုံရိပ်တစ်ခု၏ပုံရိပ်တစ်ခုသို့မဟုတ်ပုံတစ်ပုံမှထုတ်ယူခြင်းနှင့်အခြားတစ်ခုသို့ပေါင်းစည်းရန်အလွန်အသုံးဝင်သည်။
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagecopy</span></span><span>(resource </span><span><span class="hljs-variable">$destination</span></span><span>, resource </span><span><span class="hljs-variable">$source</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$dst_x</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$dst_y</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_x</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_y</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_w</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_h</span></span><span>);
</span></span>$ destination : ပုံရိပ်အရင်းအမြစ်အရင်းအမြစ်။
$ အရင်းအမြစ် : အရင်းအမြစ်ပုံရိပ်အရင်းအမြစ်။
$ DST_X , $ DST_Y : ပစ်မှတ်ပုံရိပ်၏စတင်အနေအထား။
$ src_x , $ src_y : အရင်းအမြစ်ပုံရိပ်၏စတင်အနေအထား။
$ src_w , $ src_h : အရင်းအမြစ်ပုံရိပ်၏အကျယ်နှင့်အမြင့်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အရင်းအမြစ်ပုံရိပ်တစ်ခုဖန်တီးပါ</span></span><span>
</span><span><span class="hljs-variable">$source</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);
</span><span><span class="hljs-variable">$white</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$source</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$source</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">$white</span></span><span>);
</span><span><span class="hljs-comment">// အရင်းအမြစ်ပုံရိပ်ပေါ်တစ်ခုခုဆွဲပါ</span></span><span>
</span><span><span class="hljs-variable">$black</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$source</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-title function_ invoke__">imageline</span></span><span>(</span><span><span class="hljs-variable">$source</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-number">90</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>, </span><span><span class="hljs-variable">$black</span></span><span>);
</span><span><span class="hljs-comment">// ပစ်မှတ်ပုံရိပ်တစ်ခုဖန်တီးပါ</span></span><span>
</span><span><span class="hljs-variable">$destination</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">200</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>);
</span><span><span class="hljs-variable">$bgColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$destination</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$destination</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">$bgColor</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagecopy</span></span><span>(</span><span><span class="hljs-variable">$destination</span></span><span>, </span><span><span class="hljs-variable">$source</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-number">50</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">100</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);
</span><span><span class="hljs-comment">// browser မှ 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">$destination</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">$source</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$destination</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ဤကိစ္စတွင်ကျွန်ုပ်တို့သည်ရှုပ်ထွေးသောပုံရိပ်အကျိုးသက်ရောက်မှုကိုဖန်တီးရန် Imagewbmp နှင့် စိတ်ကူးယဉ် လုပ်ဆောင်မှုများကိုမည်သို့ပေါင်းစပ်ရမည်ကိုပြသပါမည်။ ပုံတစ်ပုံ၏အခြားပုံတစ်ပုံနှင့် output ကို WBMP format ဖြင့်ပြုလုပ်ပါ။ ကျွန်ုပ်တို့တွင်နောက်ခံပုံတစ်ခုရှိပြီးနောက်ခံပုံတွင်အိုင်ကွန်သို့မဟုတ်အခြားပုံရိပ်တစ်ခု၏အစိတ်အပိုင်းတစ်ခုထပ်ခါတလဲလဲပြုလုပ်လိုပြီး၎င်းကိုလက်ကိုင်ဖုန်းနှင့်ကိုက်ညီစေရန်အရည်အသွေးနိမ့်သော WBMP ပုံစံဖြင့်ပြုလုပ်လိုသည်။
နောက်ခံပုံနှင့် superimposed ခံရဖို့ပုံရိပ်ကို load ။
နောက်ခံပုံပေါ်ပေါ်သို့ superimposed ဖြစ်ရန်ပုံ၏အပိုင်းကိုကူးယူရန် imagecopy ကို သုံးပါ။
နောက်ဆုံးပုံရိပ်ထုတ်လွှင့်ရန် ImageWbmp ကို သုံးပါ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// နောက်ခံပုံကိုတင်ခြင်း</span></span><span>
</span><span><span class="hljs-variable">$background</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'background.jpg'</span></span><span>);
</span><span><span class="hljs-comment">// superimposed ခံရဖို့ပုံကို load</span></span><span>
</span><span><span class="hljs-variable">$overlay</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-string">'overlay.png'</span></span><span>);
</span><span><span class="hljs-comment">// superimposed ဖြစ်ရန်ပုံ၏အကျယ်နှင့်အမြင့်ကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$overlay_width</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagesx</span></span><span>(</span><span><span class="hljs-variable">$overlay</span></span><span>);
</span><span><span class="hljs-variable">$overlay_height</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagesy</span></span><span>(</span><span><span class="hljs-variable">$overlay</span></span><span>);
</span><span><span class="hljs-comment">// superimposed ခံရဖို့ပုံ၏အစိတ်အပိုင်းတစ်ခုကိုရွေးပါ</span></span><span>
</span><span><span class="hljs-variable">$src_x</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-variable">$src_y</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-variable">$src_w</span></span><span> = </span><span><span class="hljs-variable">$overlay_width</span></span><span>;
</span><span><span class="hljs-variable">$src_h</span></span><span> = </span><span><span class="hljs-variable">$overlay_height</span></span><span>;
</span><span><span class="hljs-comment">// နောက်ခံပုံတွင် overlay အနေအထားကိုရွေးချယ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$dst_x</span></span><span> = </span><span><span class="hljs-number">50</span></span><span>;
</span><span><span class="hljs-variable">$dst_y</span></span><span> = </span><span><span class="hljs-number">50</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">imagecopy</span></span><span>(</span><span><span class="hljs-variable">$background</span></span><span>, </span><span><span class="hljs-variable">$overlay</span></span><span>, </span><span><span class="hljs-variable">$dst_x</span></span><span>, </span><span><span class="hljs-variable">$dst_y</span></span><span>, </span><span><span class="hljs-variable">$src_x</span></span><span>, </span><span><span class="hljs-variable">$src_y</span></span><span>, </span><span><span class="hljs-variable">$src_w</span></span><span>, </span><span><span class="hljs-variable">$src_h</span></span><span>);
</span><span><span class="hljs-comment">// output ကိုဖြစ်ပါတယ်WBMPပမာဏ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagewbmp</span></span><span>(</span><span><span class="hljs-variable">$background</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">$background</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$overlay</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>JPECREATHEMJPEN နှင့် imagecreatflefressmpng လုပ်ဆောင်ချက်များသည် JPEG နောက်ခံပုံပုံရိပ်များနှင့် PNG format များကိုဖွင့်ရန်အသုံးပြုသည်။
နောက်ခံပုံရိပ်၏ (0, 0 , 50) မှ (50,000) မှ (50,000) ရှိသည့်ပုံရိပ် (0. ) နှင့်အမြင့်နှင့်အမြင့်မှစတင်ခြင်း) ကိုကူးယူရန် image ကို (0, 0 မှ စ. ) ကိုကူးယူရန် imageecopy function ကိုသုံးပါ။
နောက်ဆုံးတွင် ImageWbmp ကို WBMP ပုံစံသို့ output လုပ်ရန်, bandwidth သို့မဟုတ် mobile devices များအတွက်သင့်တော်ပါ။
Imagewbmp နှင့် istecopy function များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ရှုပ်ထွေးသောပုံရိပ်ထပ်များများရရှိနိုင်ပါသည်။ ဤချဉ်းကပ်နည်းသည်ရုပ်ပုံများကိုထုတ်ပေးသည့်အခါရုပ်ပုံများကိုထုတ်ပေးသောအခါသို့မဟုတ်သုံးစွဲသူများကိုကိုယ်ပိုင်အကြောင်းအရာများကိုပေးသည့်အခါအသုံးဝင်သည်။
PHP တွင်ရှုပ်ထွေးသောပုံရိပ်အကျိုးသက်ရောက်မှုများရရှိရန်ဤလုပ်ဆောင်မှုနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုပိုမိုနားလည်ရန်မျှော်လင့်ပါသည်။