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

ပုံတစ်ပုံကိုပုံရိပ်တစ်ခုနှင့်မည်သို့ဖြတ်တောက်မည်နည်းနှင့်တစ်ချိန်တည်းတွင်ချုံ့ခြင်းလျှောက်ထားပါ

gitbox 2025-05-26

1 ။ ပြင်ဆင်မှု

ပထမ ဦး စွာ PHP ပတ် 0 န်းကျင်သည် GD စာကြည့်တိုက်အထောက်အပံ့ကိုသေချာအောင်လုပ်ပါ။ GD စာကြည့်တိုက်သည် PHP အတွက်အခြေခံစာကြည့်တိုက်ဖြစ်ပြီးရုပ်ပုံများကို အသုံးပြု. ပုံရိပ်ဖန်တီးခြင်း, သီးနှံစိုက်ပျိုးခြင်း,

GD စာကြည့်တိုက်ကိုဖွင့်ထားရှိမရှိစစ်ဆေးရန်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။

 <?php
if (extension_loaded('gd')) {
    echo "GDစာကြည့်တိုက်ကိုဖွင့်ထားသည်";
} else {
    echo "GDစာကြည့်တိုက်ကိုဖွင့်မထားပါ,ကျေးဇူးပြု. install လုပ်ပါGDစာကြည့်တိုက် extension ကို";
}
?>

2 ။ မူရင်းပုံကိုတင်ပါ

image အရင်းအမြစ်များကို GD စာကြည့်တိုက်လုပ်ငန်းလည်ပတ်မှုများမှတစ်ဆင့် GD စာကြည့်တိုက်လုပ်ဆောင်ချက်များမှတဆင့် load လုပ်ပါ။ imagecreatjpeg () ,

 <?php
$sourcePath = 'gitbox.net/images/sample.jpg'; // Domain Name ကိုအစားထိုးလိုက်ပြီဆိုတာသတိပြုပါgitbox.net
$srcImg = imagecreatefromjpeg($sourcePath);
if (!$srcImg) {
    die("ပုံကို တင်. မရပါ");
}
?>

3 ။ သီးနှံစိုက်ပျိုးခြင်းနှင့်ချုံ့ခြင်းလုပ်ငန်းများကိုအကောင်အထည်ဖော်ပါ

imgetgetcclip ၏အပြုအမူကိုတုပသည့်စိတ်ကြိုက်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။

 <?php
/**
 * crop နှင့်ပုံရိပ်စကေးစကေး
 * 
 * @param resource $srcImg  အရင်းအမြစ်ပုံရိပ်အရင်းအမြစ်များ
 * @param int $clipX        စတိုပွိုင့်ကိုစိတ်တဇXညီညာစေ
 * @param int $clipY        စတိုပွိုင့်ကိုစိတ်တဇYညီညာစေ
 * @param int $clipWidth    သီးနှံအကျယ်ပြ
 * @param int $clipHeight   သီးနှံရိတ်သိမ်း
 * @param int $newWidth     ပစ်မှတ်အကျယ်(ချဲ့ပြီးနောက်)
 * @param int $newHeight    ပစ်မှတ်အမြင့်(ချဲ့ပြီးနောက်)
 * 
 * @return resource         裁剪ချဲ့ပြီးနောက်的新图像资源
 */
function imagegetclip($srcImg, $clipX, $clipY, $clipWidth, $clipHeight, $newWidth, $newHeight) {
    // ပစ်မှတ်ထားပုံရိပ်အရင်းအမြစ်တစ်ခုဖန်တီးပါ
    $dstImg = imagecreatetruecolor($newWidth, $newHeight);

    // ပွင့်လင်းနေပါ(ဆန့်ကျင့်ဘက်PNGနှင့်GIF)
    imagealphablending($dstImg, false);
    imagesavealpha($dstImg, true);

    // သီးနှံနှင့်စကေး
    imagecopyresampled(
        $dstImg,       // ပစ်မှတ်ပုံရိပ်
        $srcImg,       // အရင်းအမြစ်ပုံရိပ်
        0, 0,          // ပစ်မှတ်ပုံရိပ်起点ညီညာစေ
        $clipX, $clipY,// အရင်းအမြစ်ပုံရိပ်စတိုပွိုင့်ကိုစိတ်တဇညီညာစေ
        $newWidth, $newHeight,   // ပစ်မှတ်ပုံရိပ်尺寸
        $clipWidth, $clipHeight  // အရင်းအမြစ်ပုံရိပ်裁剪尺寸
    );

    return $dstImg;
}
?>

4 ။ ဥပမာများကိုသုံးပါ

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

 <?php
// 载入အရင်းအမြစ်ပုံရိပ်
$sourcePath = 'gitbox.net/images/sample.jpg';
$srcImg = imagecreatefromjpeg($sourcePath);

// 设定裁剪参数နှင့်缩放尺寸
$clipX = 100;
$clipY = 50;
$clipWidth = 200;
$clipHeight = 150;
$newWidth = 400;  // ကျယ်ဝန်းလာ2နှစ်ဆဖြစ်သော
$newHeight = 300;

// အဆိုပါ clipping နှင့်စကေး function ကိုခေါ်ခြင်း
$dstImg = imagegetclip($srcImg, $clipX, $clipY, $clipWidth, $clipHeight, $newWidth, $newHeight);

// File သို့ output ကိုပုံရိပ်
imagejpeg($dstImg, 'gitbox.net/images/output.jpg', 90);

// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($srcImg);
imagedestroy($dstImg);

echo "သီးနှံနှင့်စကေး完成,ပုံရိပ်ကိုကယ်တင်ခြင်းသို့ရောက်ပြီ output.jpg";
?>

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

အထက်ပါအဆင့်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည် GD စာကြည့်တိုက်ကို အသုံးပြု. IgnetClip function ၏အဓိကလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်အတွက် GD စာကြည့်တိုက်ကိုအသုံးပြုသည်။ ဤနည်းလမ်းသည် JPEG အတွက်သင့်တော်သော်လည်း PNG, GIF နှင့်အခြားပုံစံများအတွက်အထောက်အပံ့များကိုအလွယ်တကူတိုးချဲ့နိုင်သည်။ Image Loading function ကိုနှိပ်ပြီး function ကိုသိမ်းပါ။

ကောက်ပဲသီးနှံများနှင့်ချုံ့ခြင်းများကိုပေါင်းစပ်ထားသောဤနည်းလမ်းကို avatar သီးနှံ, thumpnail generation, image တည်းဖြတ်ရေးကိရိယာများနှင့်အခြားအခြေအနေများတွင်ကျယ်ပြန့်စွာအသုံးပြုသည်။