PHP တွင် process crowping သည်ပုံရိပ်ပြုပြင်ခြင်းလုပ်ငန်းများ၏အလွန်အသုံးများသောအစိတ်အပိုင်းဖြစ်သည်။ PHP 5.5.0 ဖြင့် PHP သည် ImpoCrop function ကို built-in agrecrop function ကို built-in agrecrop function ကိုတည်ဆောက်ထားသည်။
ဤဆောင်းပါးသည်အထူးသဖြင့်သီးနှံများနှင့်ထောင်ချောက်များကို ရှောင် ရှားခြင်း,
isionecrop function ကို၏ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
imagecrop(GdImage $image, array $rect): ?GdImage
$ Image : cropped ခံရဖို့ပုံရိပ်အရင်းအမြစ်။
$ RENT - အောက်ပါသော့များပါ 0 င်သည့် clipping area ရိယာ၏သွဒီနိတ်များနှင့်အရွယ်အစားများကိုသတ်မှတ်သည့် Associative Array တစ်ခု -
X : သီးနှံ area ရိယာ၏ဘယ်ဘက်အပေါ်ထောင့်၏ဘယ်ဘက်ထောင့်၏ (pixels) ၏ (pixels) တွင်အလျားလိုက်သွဒိနိတ်။
Y : သီးနှံဒေသ၏ဘယ်ဘက်အပေါ်ထောင့်၏ဘယ်ဘက်ထောင့်၏ (pixels) (pixels) တွင်ဒေါင်လိုက်သွဒီနိတ်။
WIDTH : သီးနှံသီးနှံများအကျယ် (pixels) ။
အမြင့် - သီးနှံ area ရိယာ (pixel) ၏အမြင့်။
function ကိုအောင်မြင်သောအခါ၎င်းသည် cropped ပုံရိပ်အရင်းအမြစ်အသစ်ကိုပြန်ပို့သည် ။
ကိုသွဒီနိတ် (x, y)
၎င်းသည်မူရင်းပုံတွင်သီးနှံသေတ္တာ၏ဘယ်ဘက်အပေါ်ထောင့်၏ဘယ်ဘက်ထောင့်၏အနေအထားကိုဖော်ပြသည်။ သွဒီနိတ်များသည်ဘယ်ဘက်အပေါ်ထောင့်မှဖြစ်သည့်ဇာစ်မြစ် (0.0) ဖြစ်သည်။
အကျယ်နှင့်အမြင့်
pixels အတွက်သီးနှံသေတ္တာ၏အရွယ်အစားကိုကိုယ်စားပြုတယ်။ အပြုသဘောဆောင်သောကိန်းတစ်ခုဖြစ်ရပါမည်။
ကိုသွဒီနိတ်များနှင့်အရွယ်အစားများသည်မူလပုံ၏နယ်နိမိတ်ထက်မကျော်လွန်စေရန်သေချာပါစေ ဥပမာအားဖြင့်, မူရင်းပုံသဏ္ဌာန် $ IMGWIDTH သည်ဒေါ်လာ imgwidth နှင့်အမြင့်သည် ဒေါ်လာ imgheight ဖြစ်သည်ဆိုလျှင်၎င်းသည်စိတ်ကျေနပ်မှုရှိရမည်။
$x >= 0 && $y >= 0
$x + $width <= $imgWidth
$y + $height <= $imgHeight
ဒီလိုမှမဟုတ်ရင်သီးနှံရိတ်သိမ်းခြင်းစစ်ဆင်ရေးပျက်ကွက်ခြင်းနှင့် မှားယွင်းသော ပြန်လာ။
parameter type အမျိုးအစားတစ်ခု integer ဖြစ်ရမည် non-integer အငြင်းပွားမှုများအမှားအယွင်းများသို့မဟုတ်ခြွင်းချက်များဖြစ်ပေါ်စေနိုင်ပါတယ်။
သီးနှံ area ရိယာ၏အကျယ်နှင့်အမြင့် 0 ထက်ကြီးမြတ်ကြောင်းသေချာပါစေ
အကျယ် (သို့) အမြင့် 0 င်သို့မဟုတ်အနုတ်လက်ခဏာဖြစ်သည့်အခါသီးနှံသည်မမှန်ကန်ပါ။
ကျွန်ုပ်တို့တွင်ပုံ ဥပမာ တစ်ခုရှိသည်ဆိုပါစို့။ ၎င်းကိုညှိနှိုင်းတိုင်ပင်များ (50, 30), 150 pixels 200 pixels နှင့် 150 pixels အမြင့်ဆုံးနှင့် 150 pixels 150 pixels 200,0 pixels 200,
<?php
// ပုံကိုတင်ပါ
$image = imagecreatefromjpeg('http://gitbox.net/example.jpg');
if (!$image) {
die('ပုံကိုတင်ရန်မအောင်မြင်ပါ');
}
// မူရင်းပုံအရွယ်အစားကိုရယူပါ
$imgWidth = imagesx($image);
$imgHeight = imagesy($image);
// သီးနှံ parameters တွေကိုသတ်မှတ်ပါ
$cropRect = [
'x' => 50,
'y' => 30,
'width' => 200,
'height' => 150,
];
// အဆိုပါဖြတ်တောက်မှု area ရိယာတရားဝင်ရှိမရှိဆုံးဖြတ်ရန်
if ($cropRect['x'] < 0 || $cropRect['y'] < 0 ||
$cropRect['x'] + $cropRect['width'] > $imgWidth ||
$cropRect['y'] + $cropRect['height'] > $imgHeight) {
die('သီးနှံ area ရိယာသည်ပုံနယ်နိမိတ်ကျော်လွန်');
}
// သီးနှံဓာတ်ပုံများ
$cropped = imagecrop($image, $cropRect);
if ($cropped !== false) {
// cropped ဓါတ်ပုံတွေကိုသိမ်းကြလော့
imagejpeg($cropped, 'cropped_example.jpg');
imagedestroy($cropped);
echo "အောင်မြင်သောဖြတ်!";
} else {
echo "သီးနှံစိုက်ပျိုးခြင်းမအောင်မြင်ပါ!";
}
// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($image);
?>
သီးနှံစိုက်ပျိုးခြင်း area ရိယာသည်ပုံနယ်နိမိတ်ကျော်လွန် မှားယွင်းသော ပြန်လာရန် စိတ်ကူးယဉ်မှုများ ဖြစ်ပေါ်စေသည်။ ဖြေရှင်းချက် - ပထမ ဦး ဆုံးကို ဦး စွာသိရှိပြီးသွဒီနိတ်များနှင့်ရှုထောင့်များကိုကန့်သတ်ထားသည်။
အကျယ်သို့မဟုတ်အမြင့်သို့မဟုတ်ကိုသွဒီနိတ်များသည်အနှုတ်လက်ခဏာသို့မဟုတ် non-integer <br> ဖြစ်သည် parameter သည်မဖြတ်သန်းမီမှန်ကန်သောအမျိုးအစားကိုသေချာစေရန် intval () function ကိုသုံးပါ။
မူရင်းပုံရိပ်အရင်းအမြစ်သည်ဗလာဖြစ်သည် Image Path သည်မှန်ကန်ပြီး PHP သည် GD extension ကိုဖွင့်ထားကြောင်းသေချာပါစေ။
imagecrop သည် စတုဂံဒေသများကိုရှင်းလင်းပြတ်သားစွာနှင့်မှန်ကန်သောကောက်ယူရန်လိုအပ်သည်။
အဆိုပါကိုသွဒီနိတ်များ x နှင့် y သည်ဘယ်ဘက်အပေါ်ထောင့်အနေအထားကိုရည်ညွှန်းပြီးအကျယ်နှင့်အမြင့်သည်အပြုသဘောကိန်းများဖြစ်ရမည်။
သီးနှံရိတ်သိမ်းမှု၏တရားဝင်မှုကိုအတည်ပြုရန် image size ကိုကြိုတင်ရရှိပါ။
ပရိုဂရမ်ခြွင်းချက်များကိုရှောင်ရှားရန်ကုဒ်နံပါတ်ရှိအမှားအယွင်းများကိုစစ်ဆေးရန်သေချာပါစေ။
ဤသော့ချက်အချက်များနှင့် ပတ်သက်. မှန်ကန်သောနားလည်မှုကိုသင့်အား PHP တွင်ပုံရိပ်သီးသီးနှံ function ကိုဖြည့်စွက်ရန်ခွင့်ပြုနိုင်သည်။