PHP Image processing ၏လယ်ကွင်းတွင်ရုပ်ပုံများကိုသီးနှံများသည်အလွန်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ အကြိမ်များစွာကျွန်ုပ်တို့သည်သတ်မှတ်ထားသော area ရိယာကိုဖြတ်ရန်သာမကပုံပျက်သောရှောင်ရှားရန်မပြောင်းလဲသော cropped image အချိုးအစားကိုမပြောင်းလဲလိုသည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုကိုမည်သို့အကောင်အထည်ဖော်ရမည်, လက်တွေ့ကျကျကုဒ်များကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုရှင်းပြရန်ဤဆောင်းပါးသည်မသိဘဲရမ်းမေးတဲ့ function impongetcclosup ကိုအာရုံစိုက်လိမ့်မည်။
ImpengetClip function (ဤနေရာတွင်စိတ်ကြိုက် function ကိုယူဆသော) ကိုပုံရိပ်တစ်ခုမှသတ်မှတ်ထားသော area ရိယာကိုအဓိကအားဖြင့်အသုံးပြုလေ့ရှိသည်။ PHP တွင် built-in Gd စာကြည့်တိုက်တွင်ဤလုပ်ဆောင်မှုမရှိပါကကျွန်ုပ်တို့သည်အကောင်အထည်ဖော်မှုကိုစိတ်ကြိုက်ပြုပြင်ပြီးသီးပွင့်ခြင်း function ကိုဖြည့်စွက်နိုင်သည်။
အဓိကအကြံဥာဏ်မှာ - မူရင်းပုံရိပ်အရင်းအမြစ်တွင် PASS PASS, Starting Point နှင့်အနံအကျယ်နှင့်အမြင့်ကိုသွဒီနမူနာများကိုသီးနှံယူပါ။
သီးနှံရိတ်သိမ်းခြင်းကာလအတွင်းမပြောင်းလဲသောအချိုးအစားကိုထိန်းသိမ်းထားရန်သော့ချက်မှာပစ်မှတ်သီးနှံအရွယ်အစားနှင့်မူရင်းပုံရိပ်အရွယ်အစားအပေါ် အခြေခံ. သင့်လျော်သောသီးနှံသေတ္တာကိုတွက်ချက်ရန်ဖြစ်သည်။ တိကျသောအဆင့်များမှာအောက်ပါအတိုင်းဖြစ်သည် -
မူရင်းပုံ၏အကျယ်နှင့်အမြင့်ရရှိသွားတဲ့။
ပစ်မှတ်သီးနှံအကျယ်နှင့်အမြင့်အချိုးအစားအရသီးနှံသေတ္တာ၏အရွယ်အစားကိုဆုံးဖြတ်ပါ။
သီးနှံသေတ္တာ၏ coop box ကို coinc ကိုတွက်ချက်ပါ (သို့မဟုတ်လိုအပ်သကဲ့သို့အနေအထားကိုညှိပါ) သေချာစေရန်အတွက် CROP box ၏သွဒီနိတ်များကိုတွက်ချက်ပါ။
area ရိယာကိုထုတ်ယူဖို့ clipping function ကိုသုံးပါ။
အောက်ဖော်ပြပါနမူနာကုဒ်သည် PHP တွင် Igrogetclip function ကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသပြီးစကေးသီးနှံစိုက်ပျိုးခြင်းကိုထိန်းသိမ်းရန်ဖြစ်သည်။ ဥပမာကလစ်ပစ်မှတ်အရွယ်အစားသည် $ clipwidth နှင့် $ clipheleight ဖြစ်သည်ဟုယူဆသည်။
<?php
function imagegetclip($srcImage, $clipWidth, $clipHeight) {
// မူရင်းပုံအကျယ်နှင့်အမြင့်ကိုရယူပါ
$srcWidth = imagesx($srcImage);
$srcHeight = imagesy($srcImage);
// ပစ်မှတ်အချိုးအစားတွက်ချက်
$targetRatio = $clipWidth / $clipHeight;
$srcRatio = $srcWidth / $srcHeight;
// အဆိုပါ clipping area ရိယာအရွယ်အစားတွက်ချက်,အချိုးအစားကိုထိန်းသိမ်းရန်
if ($srcRatio > $targetRatio) {
// မူရင်းပုံရိပ်တွင်ကျယ်ဝန်းသည်,အမြင့်အားဖြင့်သီးနှံ
$newHeight = $srcHeight;
$newWidth = (int)($srcHeight * $targetRatio);
$srcX = (int)(($srcWidth - $newWidth) / 2);
$srcY = 0;
} else {
// မူရင်းပုံသည်အတော်လေးမြင့်မားသည်,အကျယ်အားဖြင့်သီးနှံ
$newWidth = $srcWidth;
$newHeight = (int)($srcWidth / $targetRatio);
$srcX = 0;
$srcY = (int)(($srcHeight - $newHeight) / 2);
}
// ပစ်မှတ်ထားပုံရိပ်အရင်းအမြစ်တစ်ခုဖန်တီးပါ
$clipImage = imagecreatetruecolor($clipWidth, $clipHeight);
// ပစ်မှတ်အရွယ်အစားမှသီးနှံနှင့်စကေး
imagecopyresampled(
$clipImage, // ပစ်မှတ်ပုံရိပ်
$srcImage, // အရင်းအမြစ်ပုံရိပ်
0, 0, // ပစ်မှတ် start ကိုသွဒီနိတ်
$srcX, $srcY, // အရင်းအမြစ်ပုံရိပ်裁剪起点
$clipWidth, $clipHeight, // ပစ်မှတ်အကျယ်နှင့်အမြင့်
$newWidth, $newHeight // source clipping area ရိယာအကျယ်နှင့်အမြင့်
);
return $clipImage;
}
// အသုံးပြုမှုဥပမာ
$imagePath = 'https://gitbox.net/images/sample.jpg'; // အသုံးပြုgitbox.netဒိုမိန်းအမည်ကိုအစားထိုးပါ
$srcImage = imagecreatefromjpeg($imagePath);
$clipWidth = 300;
$clipHeight = 200;
$clippedImage = imagegetclip($srcImage, $clipWidth, $clipHeight);
// popput popped popped
header('Content-Type: image/jpeg');
imagejpeg($clippedImage);
// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($srcImage);
imagedestroy($clippedImage);
?>
အထက်ဖော်ပြပါကုဒ်သည်ပုံပျက်သောပုံပျက်မှုများကိုရှောင်ရှားရန်ဖြတ်တောက်ထားသောပုံရိပ်နှင့်အမြင့်အချိုးအရပျံ့နှံ့မှုနှင့်အမြင့်အချိုးအစားအရကောက်ပင်းထိုးထားသည့် code သည် copped area ရိယာကိုတွက်ချက်သည်။
အဆိုပါ ImagecopyResampled function သည်ပုံကိုကောက်ပဲသီးနှံများသာမက output အရွယ်အစားသည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီစေရန်သေချာစေရန်အတွက်အကောင်အထည်ဖော်ရန်အတွက်အကောင်အထည်ဖော်ရန်အတွက်လည်းအကောင်အထည်ဖော်ရန်အတွက်ဖြစ်သည်။
Gitbox.net ကို သုံးပါဥပမာနမူနာ URL ၏အမည်ကိုအစားထိုးရန်, ဥပမာကိုတိုက်ရိုက်အသုံးပြုရန်အဆင်ပြေသည်။