လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> croup png ရုပ်ပုံများကို isagecrop function ကိုနှင့်အတူ PNG ပုံရိပ်တွေနှင့်ပွင့်လင်းနောက်ခံစောင့်ရှောက်လော့

croup png ရုပ်ပုံများကို isagecrop function ကိုနှင့်အတူ PNG ပုံရိပ်တွေနှင့်ပွင့်လင်းနောက်ခံစောင့်ရှောက်လော့

gitbox 2025-05-29

PHP ကို ​​အသုံးပြု. Imagecrop () function သည်သတ်မှတ်ထားသော areas ရိယာများသို့ရုပ်ပုံများကိုသီးနှံများကို ဖြတ်. အသုံးပြုနိုင်သောလက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်။ အကယ်. သင်သည်ပွင့်လင်းမြင်သာသောနောက်ခံရှိသော PNG ဓါတ်ပုံများကိုကိုင်တွယ်ဖြေရှင်းနေပါကမမှန်ကန်ပါကမမှန်ကန်ပါကပွင့်လင်းမြင်သာသောနောက်ခံသည်သီးနှံများကိုသီးနှံများကို ဖြတ်. အနက်ရောင်သို့မဟုတ်အဖြူရောင်နောက်ခံဖြစ်လာသည်။ Imagecrop () function နှင့်သီးနှံများနှင့်သီးနှံများကိုသီးနှံများနှင့်အတူ PNG ရုပ်ပုံများကိုပွင့်လင်းမြင်သာစေရန်မည်သို့အသေးစိတ်ရှင်းပြရမည်ကိုဤဆောင်းပါးတွင်ဖော်ပြပါမည်။

1 ။ imagecrop () function ကိုမိတ်ဆက်

Imagecrop () PHP 5.5.0 မှမိတ်ဆက်ပေးသော function ကိုဖြစ်သည်။ ၎င်း၏ function သည် Image Resource အသစ်ကိုသတ်မှတ်ထားသောအရွယ်အစားနှင့်အညီဖြတ်ကျော်နေသောမူရင်းပုံရိပ်၏ရလဒ်ဖြစ်သည်။ အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 $cropped = imagecrop($image, ['x' => 100, 'y' => 100, 'width' => 200, 'height' => 200]);

အကယ်. $ Image သည် PNG ပုံရိပ်တစ်ခုဖြစ်ပါကသီးနှံများသီးနှံပြီးနောက်မူရင်းပုံရိပ်၏နောက်ခံကိုဆက်လက်ထိန်းသိမ်းထားလိုပါကသင်အာရုံစိုက်ရန်လိုအပ်သည့်အဓိကအသေးစိတ်အချက်အလက်များကိုအောက်တွင်ဖော်ပြထားသည်။

2 ။ ပွင့်လင်းနောက်ခံမျိုးပွား၏အဓိကအချက်များ

PNG ရုပ်ပုံများနှင့်သီးနှံများကို screencrop () ကို အသုံးပြု. သီးနှံများကိုထုတ်လုပ်သည့်အခါ, ဘာဖြစ်လို့လဲဆိုတော့ PHP သည် Transparent channels များကိုပုံမှန်အားဖြင့်အလိုအလျောက်ထိန်းသိမ်းထားခြင်းမရှိပါ။

ဤပြ problem နာကိုဖြေရှင်းရန်ပုံရိပ်ကိုသီးနှံပြီးနောက်အောက်ပါအဆင့်များကိုလုပ်ဆောင်ရန်လိုအပ်သည်။

  1. ပွင့်လင်းသောပတ်တူအသစ်တစ်ခုဖန်တီးပါ။

  2. Alpha Channel Saving ကို Enable;

  3. ဤပွင့်လင်းသောပတ်တူသို့ cropped image ကိုကူးယူပါ။

  4. နောက်ဆုံး output ကိုသို့မဟုတ်ပုံကိုသိမ်းဆည်းပါ။

3 ။ နမူနာကုဒ်ကိုဖြည့်ပါ

ဤနေရာတွင် PNG ရုပ်ပုံများကိုပွင့်လင်းမြင်သာသောနောက်ခံဖြင့်မည်သို့တပ်ဆင်ရမည်ကိုပြသသည့်နမူနာကုဒ်၏ပြီးပြည့်စုံသောအပိုင်းအစတစ်ခုဖြစ်သည်။

 <?php
// မူရင်းပုံကိုတင်ပါ
$sourcePath = 'https://gitbox.net/images/sample.png';
$src = imagecreatefrompng($sourcePath);

// သီးနှံ area ရိယာကိုသတ်မှတ်
$cropArea = [
    'x' => 50,
    'y' => 50,
    'width' => 200,
    'height' => 200
];

// ပုံကိုဖြတ်ပစ်ပါ
$cropped = imagecrop($src, $cropArea);

if ($cropped !== false) {
    // အသစ်တစ်ခုကိုပွင့်လင်းပတ်တူဖန်တီးပါ
    $transparent = imagecreatetruecolor($cropArea['width'], $cropArea['height']);
    
    // Transparency ရောနှော mode ကို enable
    imagealphablending($transparent, false);
    
    // ပြီးပြည့်စုံသောသိမ်းဆည်းပါalphaအချက်အလက်အချက်အလက်
    imagesavealpha($transparent, true);
    
    // Varramparent အရောင်များဖြင့်ပတ်တူကိုဖြည့်ပါ
    $transparentColor = imagecolorallocatealpha($transparent, 0, 0, 0, 127);
    imagefill($transparent, 0, 0, $transparentColor);
    
    // 拷贝ပုံကိုဖြတ်ပစ်ပါ到透明画布上
    imagecopy($transparent, $cropped, 0, 0, 0, 0, $cropArea['width'], $cropArea['height']);
    
    // browser မှ output ကိုပုံရိပ်
    header('Content-Type: image/png');
    imagepng($transparent);

    // အရင်းအမြစ်များကိုဖျက်ဆီးသည်
    imagedestroy($transparent);
    imagedestroy($cropped);
    imagedestroy($src);
} else {
    echo 'သီးနှံစိုက်ပျိုးခြင်းမအောင်မြင်ပါ';
}
?>

4 ။ မှတ်စုများ

  • ImageCreatetRuecolor () ပုံသဏ္ဌာန် () မှပြန်လာသောပုံသဏ္ဌာန် () သည် မှန်ကန်သော alpha အချက်အလက်များမပါ 0 င်သောကြောင့်ဖန်တီးမှုကိုဖန်တီးထားသောပတ်တူအသစ်ကိုဖန်တီးရမည်။

  • isagealphableending () နှင့် Imagesavealpha () ကိုအသုံးပြုခြင်းသည်ပွင့်လင်းမြင်သာသောနောက်ခံကိုထိန်းသိမ်းရန်သော့ချက်ဖြစ်သည်။

  • အကယ်. သင်သည်နောက်ဆုံးပုံကိုဖိုင်တစ်ခုအနေဖြင့်သိမ်းဆည်းရန်စီစဉ်ထားပါက ImagePng ($ transparent ) အစား imagepng ($ ပွ င့်လင်းသော, outpropng ') ကိုသုံးနိုင်သည်။

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

PNG ပုံရိပ်များကိုသီးနှံများကိုသီးပွင့်ပွင့်လင်းမြင်သာသောနောက်ခံအကျိုးသက်ရောက်မှုကို PHP တွင်လုံးဝဖြစ်နိုင်ခြေရှိသည်။ Imagecrop () နှင့်ပွင့်လင်းသောပတ်တူများကိုပေါင်းစပ်ခြင်းအားဖြင့်သင်သည်သီးနှံသီးနှံများကိုတိကျစွာထိန်းချုပ်နိုင်ပြီး avatar cropping နှင့်မြေပုံပြုပြင်ခြင်းစသည့်မြင်ကွင်းများအတွက်သင့်တော်သောပုံရိပ်၏မူလပွင့်လင်းမြင်သာမှုကိုထိန်းသိမ်းနိုင်သည်။

ဤနည်းစနစ်ကိုကျွမ်းကျင်သည် PHP Image processing ၏အရည်အသွေးနှင့်ကျွမ်းကျင်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။