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

PHP တွင်ပုံရိပ်စောင့်သိမှုများကိုမည်သို့အသုံးပြုရမည်နည်း။ အခြေခံအကျဆုံး ဦး ရေနှင့်အသေးစိတ်နိဒါန်း

gitbox 2025-09-19

2 ။ အခြေခံအသုံးပြုမှုဥပမာ

2.1 ပုံကိုဘာသာပြန်ပါ

 <span><span><span class="hljs-meta">&lt;?php</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">// ဘာသာပြန်ကျမ်းကိုရယူပါ</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>(IMG_AFFINE_TRANSLATE, [</span><span><span class="hljs-string">'x'</span></span><span> =&gt; </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-string">'y'</span></span><span> =&gt; </span><span><span class="hljs-number">30</span></span><span>]);

</span><span><span class="hljs-comment">// image သို့ matrix ကို Apply</span></span><span>
</span><span><span class="hljs-variable">$translated</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__">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">$translated</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">$translated</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

အထက်ပါကုဒ်သည်ပုံရိပ် 50 pixels ကိုညာဘက်နှင့် 30 pixels ကိုအောက်သို့ဆင်းစေသည်။


2.2 ပုံကိုချဲ့ပါ

 <span><span><span class="hljs-meta">&lt;?php</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>(IMG_AFFINE_SCALE, [</span><span><span class="hljs-string">'x'</span></span><span> =&gt; </span><span><span class="hljs-number">1.5</span></span><span>, </span><span><span class="hljs-string">'y'</span></span><span> =&gt; </span><span><span class="hljs-number">0.8</span></span><span>]);

</span><span><span class="hljs-comment">// image သို့ matrix ကို Apply</span></span><span>
</span><span><span class="hljs-variable">$scaled</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-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">$scaled</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">$scaled</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဤကုဒ်သည်ပုံကို 1.5 ဆအားဖြင့်အလျားလိုက် 1 ကြိမ်နှင့် 0.8 ကြိမ်အထိကျဆင်းစေသည်။


2.3 ပုံရိပ်ကိုလှည့်ပါ

 <span><span><span class="hljs-meta">&lt;?php</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>(IMG_AFFINE_ROTATE, [</span><span><span class="hljs-string">'angle'</span></span><span> =&gt; </span><span><span class="hljs-number">45</span></span><span>]);

</span><span><span class="hljs-variable">$rotated</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-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">$rotated</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">$rotated</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဒီမှာပုံကို 45 ဒီဂရီအားဖြင့်လက်ယာရစ်လှည့်နေသည်။


3 ။ အဆင့်မြင့်အသုံးပြုမှု

3.1 Matrix ပေါင်းစပ်

တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်ရုပ်ပုံကိုတစ်ပြိုင်နက်တည်းလည်ပတ်ရန်နှင့် လှည့ ်ရန်လိုသည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$scale</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imageaffinematrixget</span></span><span>(IMG_AFFINE_SCALE, [</span><span><span class="hljs-string">'x'</span></span><span> =&gt; </span><span><span class="hljs-number">2.0</span></span><span>, </span><span><span class="hljs-string">'y'</span></span><span> =&gt; </span><span><span class="hljs-number">2.0</span></span><span>]);
</span><span><span class="hljs-variable">$rotate</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imageaffinematrixget</span></span><span>(IMG_AFFINE_ROTATE, [</span><span><span class="hljs-string">'angle'</span></span><span> =&gt; </span><span><span class="hljs-number">30</span></span><span>]);

</span><span><span class="hljs-variable">$combined</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imageaffinematrixconcat</span></span><span>(</span><span><span class="hljs-variable">$scale</span></span><span>, </span><span><span class="hljs-variable">$rotate</span></span><span>);

</span><span><span class="hljs-variable">$transformed</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">$combined</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

3.2 မှတ်စုများ

  1. Matrix ၏လျှောက်လွှာသည်ပုံအစွန်းသီးနှံများကိုဖြစ်ပေါ်စေ နိုင်သည်

  2. Imageffinematrixixget မှပြန်လာသော Matrix သည် floating point နံပါတ်များကိုအသုံးပြုရမည်။

  3. Matrix ၏အမိန့်သည်အလွန်အရေးကြီးသည်။ ပထမ ဦး ဆုံးချုံ့ခြင်း၏ရလဒ်သည်ပထမ ဦး ဆုံးလှည့်ခြင်း၏ရလဒ်သည်ကွဲပြားခြားနားသည်။