Image processing သည် PHP တွင်အထူးသဖြင့် 0 ဘ်ဆိုဒ်တစ်ခုကိုရေးဆွဲခြင်း, Images ၏လည်ပတ်မှုအသွင်ပြောင်းမှုအကောင်အထည်ဖော်ရန် PHP သည်အချို့သောလုပ်ဆောင်ချက်များနှင့်ကိရိယာများကိုထောက်ပံ့ပေးသည်။ အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုမှာတစ်ခုမှာ affine transformation matrix ကိုရရှိရန်အသုံးပြုသော iceaffinematrixixget () ဖြစ်သည်။ ဤ Matrix မှတစ်ဆင့်သင်သည်ရုပ်ပုံပေါ်တွင်စကေး, ဖြတ်ခြင်းနှင့်အခြားအသွင်ပြောင်းခြင်းနှင့်အခြားအသွင်ပြောင်းရေးလုပ်ငန်းများကိုလှည့်နိုင်သည်။
Image processing တွင် Transformation သည်အသွင်ပြောင်းမှုသည်ပြောင်းလဲခြင်းကိုမပြောင်းလဲနိုင်သောအသွင်ပြောင်းမှုတစ်ခုဖြစ်သည်။ လှည့်ခြင်း, ဘာသာပြန်ချက်, scinging နှင့်အခြားစစ်ဆင်ရေးအားလုံးသည်ဆက်စပ်မှုရှိသည်။ Transform သည် 2x3 Matrix ဖြစ်ပြီး Pixel အနေအထားတစ်ခုစီကိုပုံတွင်မည်သို့ပြောင်းလဲရမည်ကိုသတ်မှတ်ပေးသော 2x3 matrix ဖြစ်သည်။ ဤ Matrix မှတစ်ဆင့် PHP သည်ရှုပ်ထွေးသောဂျီ ometricricricricricricricricricricricricricricricricricricricricricricricrice အသွင်ပြောင်းမှုများပြုလုပ်နိုင်သည်။
Transformation Matrix ၏ဖွဲ့စည်းပုံသည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span>[</span><span><span class="hljs-meta">a, b, c</span></span><span>]
[</span><span><span class="hljs-meta">d, e, f</span></span><span>]
</span></span>
A , B , D , e သည် အမြင့်ဆုံးသော, လှည့်ခြင်း, ညှပ်ခြင်းစသည်တို့အတွက်အသုံးပြုသောတန်ဖိုးများဖြစ်သည်။
C နှင့် F သည်ဘာသာပြန်ကျမ်း၏တန်ဖိုးများဖြစ်သည်။
PHP တွင်ရှိသော imageffinematrixixget () function သည် compine transformation matrix ကိုထုတ်လုပ်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">imageaffinematrixget</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$type</span></span><span>)
</span></span>
$ အမျိုးအစား သည်သင်ထုတ်လုပ်လိုသောအသွင်ပြောင်းအမျိုးအစားကိုသတ်မှတ်သည့် string တစ်ခုဖြစ်သည်။ အသုံးများသောအသွင်ပြောင်းအမျိုးအစားများမှာ -
'လှည့်' : အလှည့်မ matrix ကိုထုတ်ပေးသည်။
'စကေး' : စကေး matrix ကိုထုတ်ပေးသည်။
'Shear' : ညှပ် Matrix ကိုထုတ်လုပ်ပါ။
လည်ပတ်မှုလုပ်ငန်းများအတွက်ကျွန်ုပ်တို့သည်များသောအားဖြင့် 'rotate' အမျိုးအစားကိုအသုံးပြုလေ့ရှိသည်။
ImageAffinematrixixget () function ကိုမည်သို့အသုံးပြုရမည်ကိုသရုပ်ပြရန်ရိုးရှင်းသောဥပမာကို အသုံးပြု. ပုံရိပ်လည်ပတ်မှုကိုရရှိရန်ပုံရိပ်ကိုပြသနိုင်သည်။
ပထမ ဦး စွာ JPEG သို့မဟုတ် PNG ကဲ့သို့သောအထောက်အပံ့ပုံစံဖြင့်မည်သည့်အထောက်အပံ့မဆိုအသုံးပြုနိုင်သည့် Image File တစ်ခုတင်ရန်လိုအပ်သည်။
<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__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'example.jpg'</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
againeffinematrixixget () function ကိုသုံးပါ။ ကျနော်တို့ပုံ 45 ဒီဂရီလှည့်ချင်ဆိုပါစို့။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အလှည့် matrix ကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$matrix</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imageaffinematrixget</span></span><span>(</span><span><span class="hljs-string">'rotate'</span></span><span>, </span><span><span class="hljs-number">45</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ထို့နောက် Matrix ကို image သို့ apport လုပ်ရန် actioneffine () function ကိုသုံးပါ။ ပုံရိပ် သည် parameters နှစ်ခုကိုလက်ခံသည်။ image အရင်းအမြစ်နှင့်ဆက်စပ်ပြောင်းလဲခြင်း Matrix ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဆက်စပ်ပြောင်းလဲမှုကို Apply</span></span><span>
</span><span><span class="hljs-variable">$transformed_image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imageaffine</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$matrix</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ယခုကျွန်ုပ်တို့သည်အသွင်ကူးပြောင်းရေးပုံကိုဖိုင်တစ်ခုသို့မဟုတ် output ကို browser သို့တိုက်ရိုက်သိမ်းဆည်းနိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အသွင်ပြောင်းပုံကိုသိမ်းဆည်းပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$transformed_image</span></span><span>, </span><span><span class="hljs-string">'rotated_example.jpg'</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/jpeg'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$transformed_image</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Image processing ပြီးစီးပြီးနောက်ပုံရိပ်အရင်းအမြစ်များကိုလွှတ်ရန်မမေ့ပါနှင့်။
<span><span><span class="hljs-meta"><?php</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-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$transformed_image</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
အထက်ပါအဆင့်များအားလုံးကိုပေါင်းစပ်ပြီး code sphagy တစ်ခုအပြည့်အစုံဖြစ်သည်။
<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__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'example.jpg'</span></span><span>);
</span><span><span class="hljs-comment">// အလှည့် matrix ကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$matrix</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imageaffinematrixget</span></span><span>(</span><span><span class="hljs-string">'rotate'</span></span><span>, </span><span><span class="hljs-number">45</span></span><span>);
</span><span><span class="hljs-comment">// ဆက်စပ်ပြောင်းလဲမှုကို Apply</span></span><span>
</span><span><span class="hljs-variable">$transformed_image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imageaffine</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$matrix</span></span><span>);
</span><span><span class="hljs-comment">// အသွင်ပြောင်းပုံကိုသိမ်းဆည်းပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$transformed_image</span></span><span>, </span><span><span class="hljs-string">'rotated_example.jpg'</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/jpeg'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$transformed_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-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$transformed_image</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Imageffinematrixixixget () function ကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည် rotation transformation အတွက်လိုအပ်သော matrix ကိုအလွယ်တကူရရှိနိုင်ပါသည်။ ပုံ၏ လည်ပတ် လည်ပတ်မှုကိုအကောင်အထည်ဖော်ရန်အတွက်ပုံရိပ်ကိုသုံးနိုင်သည်။ ဤချဉ်းကပ်မှုသည်ရုပ်ပုံအသွင်ပြောင်းမှုကိုကိုင်တွယ်ရန်ပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်သောနည်းလမ်းတစ်ခုကိုအထူးသဖြင့်ပုံရိပ်ကိုထိန်းချုပ်ရန်လိုအပ်သည်။
ရုပ်ပုံများကိုလှည့်ရန် PHP ၏ပုံရိပ်ထုတ်ယူမှုလုပ်ဆောင်မှုများကိုမည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်ဤဆောင်းပါးသည်သင့်အားနားလည်နိုင်ရန်မျှော်လင့်ပါသည်။