ပထမ ဦး စွာ PHP ပတ် 0 န်းကျင်သည် GD စာကြည့်တိုက်အထောက်အပံ့ကိုသေချာအောင်လုပ်ပါ။ GD စာကြည့်တိုက်သည် PHP အတွက်အခြေခံစာကြည့်တိုက်ဖြစ်ပြီးရုပ်ပုံများကို အသုံးပြု. ပုံရိပ်ဖန်တီးခြင်း, သီးနှံစိုက်ပျိုးခြင်း,
GD စာကြည့်တိုက်ကိုဖွင့်ထားရှိမရှိစစ်ဆေးရန်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
<?php
if (extension_loaded('gd')) {
echo "GDစာကြည့်တိုက်ကိုဖွင့်ထားသည်";
} else {
echo "GDစာကြည့်တိုက်ကိုဖွင့်မထားပါ,ကျေးဇူးပြု. install လုပ်ပါGDစာကြည့်တိုက် extension ကို";
}
?>
image အရင်းအမြစ်များကို GD စာကြည့်တိုက်လုပ်ငန်းလည်ပတ်မှုများမှတစ်ဆင့် GD စာကြည့်တိုက်လုပ်ဆောင်ချက်များမှတဆင့် load လုပ်ပါ။ imagecreatjpeg () ,
<?php
$sourcePath = 'gitbox.net/images/sample.jpg'; // Domain Name ကိုအစားထိုးလိုက်ပြီဆိုတာသတိပြုပါgitbox.net
$srcImg = imagecreatefromjpeg($sourcePath);
if (!$srcImg) {
die("ပုံကို တင်. မရပါ");
}
?>
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;
}
?>
အောက်ဖော်ပြပါအချက်များသည်ပုံရိပ်ကိုသီးနှံများကို ဖြတ်. စကေးလုပ်ရန်ဤလုပ်ဆောင်ချက်ကိုမည်သို့ခေါ်ရမည်ကိုပြသသည်။
<?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";
?>
အထက်ပါအဆင့်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည် GD စာကြည့်တိုက်ကို အသုံးပြု. IgnetClip function ၏အဓိကလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်အတွက် GD စာကြည့်တိုက်ကိုအသုံးပြုသည်။ ဤနည်းလမ်းသည် JPEG အတွက်သင့်တော်သော်လည်း PNG, GIF နှင့်အခြားပုံစံများအတွက်အထောက်အပံ့များကိုအလွယ်တကူတိုးချဲ့နိုင်သည်။ Image Loading function ကိုနှိပ်ပြီး function ကိုသိမ်းပါ။
ကောက်ပဲသီးနှံများနှင့်ချုံ့ခြင်းများကိုပေါင်းစပ်ထားသောဤနည်းလမ်းကို avatar သီးနှံ, thumpnail generation, image တည်းဖြတ်ရေးကိရိယာများနှင့်အခြားအခြေအနေများတွင်ကျယ်ပြန့်စွာအသုံးပြုသည်။