လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စိတ်ကူးများကို crowping function တွင်ပုံရိပ်များသီးနှံများကိုကော်ပိုရေးရှင်းများနှင့်အကျယ်နှင့်အကျယ်နှင့်အမြင့်ချိန်ညှိချက်များအသေးစိတ်ရှင်းပြချက်

စိတ်ကူးများကို crowping function တွင်ပုံရိပ်များသီးနှံများကိုကော်ပိုရေးရှင်းများနှင့်အကျယ်နှင့်အကျယ်နှင့်အမြင့်ချိန်ညှိချက်များအသေးစိတ်ရှင်းပြချက်

gitbox 2025-05-29

PHP တွင် process crowping သည်ပုံရိပ်ပြုပြင်ခြင်းလုပ်ငန်းများ၏အလွန်အသုံးများသောအစိတ်အပိုင်းဖြစ်သည်။ PHP 5.5.0 ဖြင့် PHP သည် ImpoCrop function ကို built-in agrecrop function ကို built-in agrecrop function ကိုတည်ဆောက်ထားသည်။

ဤဆောင်းပါးသည်အထူးသဖြင့်သီးနှံများနှင့်ထောင်ချောက်များကို ရှောင် ရှားခြင်း,


1 ။ ISESECROP 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 ပုံရိပ်အရင်းအမြစ်အသစ်ကိုပြန်ပို့သည်


2 ။ ကိုသွဒီနိတ်များနှင့်အကျယ်နှင့်အမြင့် parameters တွေကို၏တိကျသောအဓိပ္ပါယ်များ

  1. ကိုသွဒီနိတ် (x, y)
    ၎င်းသည်မူရင်းပုံတွင်သီးနှံသေတ္တာ၏ဘယ်ဘက်အပေါ်ထောင့်၏ဘယ်ဘက်ထောင့်၏အနေအထားကိုဖော်ပြသည်။ သွဒီနိတ်များသည်ဘယ်ဘက်အပေါ်ထောင့်မှဖြစ်သည့်ဇာစ်မြစ် (0.0) ဖြစ်သည်။

  2. အကျယ်နှင့်အမြင့်
    pixels အတွက်သီးနှံသေတ္တာ၏အရွယ်အစားကိုကိုယ်စားပြုတယ်။ အပြုသဘောဆောင်သောကိန်းတစ်ခုဖြစ်ရပါမည်။


3 ။ Parameters တွေကိုဘယ်လိုမှန်ကန်စွာသတ်မှတ်ရမလဲ။

  1. ကိုသွဒီနိတ်များနှင့်အရွယ်အစားများသည်မူလပုံ၏နယ်နိမိတ်ထက်မကျော်လွန်စေရန်သေချာပါစေ ဥပမာအားဖြင့်, မူရင်းပုံသဏ္ဌာန် $ IMGWIDTH သည်ဒေါ်လာ imgwidth နှင့်အမြင့်သည် ဒေါ်လာ imgheight ဖြစ်သည်ဆိုလျှင်၎င်းသည်စိတ်ကျေနပ်မှုရှိရမည်။

     $x >= 0 && $y >= 0
    $x + $width <= $imgWidth
    $y + $height <= $imgHeight
    

    ဒီလိုမှမဟုတ်ရင်သီးနှံရိတ်သိမ်းခြင်းစစ်ဆင်ရေးပျက်ကွက်ခြင်းနှင့် မှားယွင်းသော ပြန်လာ။

  2. parameter type အမျိုးအစားတစ်ခု integer ဖြစ်ရမည် non-integer အငြင်းပွားမှုများအမှားအယွင်းများသို့မဟုတ်ခြွင်းချက်များဖြစ်ပေါ်စေနိုင်ပါတယ်။

  3. သီးနှံ area ရိယာ၏အကျယ်နှင့်အမြင့် 0 ထက်ကြီးမြတ်ကြောင်းသေချာပါစေ
    အကျယ် (သို့) အမြင့် 0 င်သို့မဟုတ်အနုတ်လက်ခဏာဖြစ်သည့်အခါသီးနှံသည်မမှန်ကန်ပါ။


4 ။ နမူနာကုဒ်

ကျွန်ုပ်တို့တွင်ပုံ ဥပမာ တစ်ခုရှိသည်ဆိုပါစို့။ ၎င်းကိုညှိနှိုင်းတိုင်ပင်များ (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);
?>

5 ။ မကြာခဏမေးသောမေးခွန်းများနှင့်ဖြေရှင်းနည်းများ

  • သီးနှံစိုက်ပျိုးခြင်း area ရိယာသည်ပုံနယ်နိမိတ်ကျော်လွန် မှားယွင်းသော ပြန်လာရန် စိတ်ကူးယဉ်မှုများ ဖြစ်ပေါ်စေသည်။ ဖြေရှင်းချက် - ပထမ ဦး ဆုံးကို ဦး စွာသိရှိပြီးသွဒီနိတ်များနှင့်ရှုထောင့်များကိုကန့်သတ်ထားသည်။

  • အကျယ်သို့မဟုတ်အမြင့်သို့မဟုတ်ကိုသွဒီနိတ်များသည်အနှုတ်လက်ခဏာသို့မဟုတ် non-integer <br> ဖြစ်သည် parameter သည်မဖြတ်သန်းမီမှန်ကန်သောအမျိုးအစားကိုသေချာစေရန် intval () function ကိုသုံးပါ။

  • မူရင်းပုံရိပ်အရင်းအမြစ်သည်ဗလာဖြစ်သည် Image Path သည်မှန်ကန်ပြီး PHP သည် GD extension ကိုဖွင့်ထားကြောင်းသေချာပါစေ။


6 ။ အကျဉ်းချုပ်

  • imagecrop သည် စတုဂံဒေသများကိုရှင်းလင်းပြတ်သားစွာနှင့်မှန်ကန်သောကောက်ယူရန်လိုအပ်သည်။

  • အဆိုပါကိုသွဒီနိတ်များ x နှင့် y သည်ဘယ်ဘက်အပေါ်ထောင့်အနေအထားကိုရည်ညွှန်းပြီးအကျယ်နှင့်အမြင့်သည်အပြုသဘောကိန်းများဖြစ်ရမည်။

  • သီးနှံရိတ်သိမ်းမှု၏တရားဝင်မှုကိုအတည်ပြုရန် image size ကိုကြိုတင်ရရှိပါ။

  • ပရိုဂရမ်ခြွင်းချက်များကိုရှောင်ရှားရန်ကုဒ်နံပါတ်ရှိအမှားအယွင်းများကိုစစ်ဆေးရန်သေချာပါစေ။

ဤသော့ချက်အချက်များနှင့် ပတ်သက်. မှန်ကန်သောနားလည်မှုကိုသင့်အား PHP တွင်ပုံရိပ်သီးသီးနှံ function ကိုဖြည့်စွက်ရန်ခွင့်ပြုနိုင်သည်။