PHP တွင် IgrogetClip function ကို အသုံးပြု. ပုံတစ်ပုံကို အသုံးပြု. developer များစွာသည်မပြည့်စုံသောရုပ်ပုံများမပြည့်စုံသောပြသမှုပြ problem နာကိုကြုံတွေ့ရလိမ့်မည်။ ဤအခြေအနေသည်ပျောက်ဆုံးနေသောရုပ်ပုံများ, မမှန်ကန်သောသီးနှံ area ရိယာနှင့်ပုံမှန်မဟုတ်သော display ကိုပင်ပျောက်ဆုံးနေသောပုံရိပ်များကိုပျောက်ဆုံးနေလိမ့်မည်။ ဤဆောင်းပါးသည်ဤပြ problem နာ၏ဘ 0 ၏အကြောင်းရင်းများကိုနက်နက်နဲနဲလေ့လာသုံးသပ်ပြီး IgnetComcclip function ကိုပိုမိုနားလည်ပြီးအသုံးပြုရန်ကူညီရန်သက်ဆိုင်ရာအဖြေများပေးသည်။
ImageGetClip သည် PHP ရှိ GD စာကြည့်တိုက်၏ function ကိုလက်ရှိပုံရိပ်ကိုရရှိမည်။ သီးနှံ area ရိယာသည် Imagecopy သို့မဟုတ် ISESECOPYRESSAMPLES အတွက်ပုံရိပ်အချက်အလက်များကိုပြောင်းလဲခြင်းကဲ့သို့သောပုံရိပ်ထုတ်ယူခြင်းတွင်သက်ဆိုင်ရာအပိုင်းကိုသတ်မှတ်သည်။
သီးနှံ area ရိယာသည်ပုံနယ်နိမိတ်ကျော်လွန်နေသည်
Igrogetcclip မှရရှိသောသီးနှံများသည်အရင်းအမြစ်ပုံရိပ်၏အရွယ်အစားထက်ကျော်လွန်ပါကသီးနှံများတွင်သီးနှံများကိုမဖတ်နိုင်ပါ။
သီးနှံစိုက်ပျိုးခြင်း area ရိယာကိုမှန်ကန်စွာမသတ်မှတ်ပါ သက်ဆိုင်သောလုပ်ဆောင်ချက်များကိုမသုံးမီ သီးနှံ area ရိယာကို မမှန်ကန်စွာမခေါ်ပါကသီးနှံ area ရိယာကိုသတ်မှတ်ရန်မမှန်ကန်ပါကပုံမှန်သီးနှံ area ရိယာသည်အချည်းနှီးဖြစ်စေ,
Image Resource ကိုအစပျိုးခြင်းသို့မဟုတ်ပျက်စီးခြင်း <br> <br> အရင်းအမြစ်ပုံရိပ်အရင်းအမြစ်ကိုမအောင်မြင်ပါကသို့မဟုတ်ပုံရိပ်ဖိုင်ကိုဖတ်ပါကအကျင့်ပျက်ခြစားမှုကိုဖတ်ပါ။
မှတ်ဉာဏ်ကန့်သတ်ချက်သည်သီးနှံများကိုပျက်ကွက်စေသည် Image သီးနှံစိုက်ပျိုးခြင်းသည်များသောအားဖြင့်မှတ်ဥာဏ်အထူးသဖြင့်ကြီးမားသောရုပ်ပုံများအတွက်အထူးလေ့ကျင့်ခန်းတစ်ခုဖြစ်သည်။ PHP ၏မှတ်ဉာဏ်ကန့်သတ်ချက်သည်သေးငယ်သော်သီးနှံများကိုပြတ်တောက်ခြင်းသို့မဟုတ်သီးနှံစိုက်ပျိုးခြင်းရလဒ်သည်မပြည့်စုံပါ။
သဟဇာတ encoding သို့မဟုတ် formatbr> <br> တစ်ခါတစ်ရံတွင်ပုံရိပ်ပုံစံများ (ထိုကဲ့သို့သောပွင့်လင်းမြင်သာသောပွင့်လင်းသော PNG သို့မဟုတ်အချို့သော compression formcy formats) သည်သီးနှံစိုက်ပျိုးခြင်းလုပ်ငန်းများနှင့်မကိုက်ညီပါ။
သီးနှံသီးနှံ area ရိယာသည်ပုံ၏အမှန်တကယ်အရွယ်အစားမကျော်လွန်ကြောင်းသေချာပါစေ,
<?php
$img = imagecreatefromjpeg('http://m66.net/images/sample.jpg');
$clip = imagegetclip($img);
$width = imagesx($img);
$height = imagesy($img);
// area ရိယာဖြတ်ခံရဖို့လိုအပ်ပါတယ်ယူဆ
$clip_x = 50;
$clip_y = 50;
$clip_w = 100;
$clip_h = 100;
// သီးနှံသီးနှံများနယ်နိမိတ်ကိုကန့်သတ်ပါ
if ($clip_x + $clip_w > $width) {
$clip_w = $width - $clip_x;
}
if ($clip_y + $clip_h > $height) {
$clip_h = $height - $clip_y;
}
imageclipset($img, $clip_x, $clip_y, $clip_w, $clip_h);
// နောက်ဆက်တွဲသီးနှံစိုက်ပျိုးခြင်းသို့မဟုတ် output စစ်ဆင်ရေး
?>
ImageclipsetS ကို ခေါ်ဆိုသည့်အခါမှန်ကန်သော parameters တွေကိုလွန်ကဲထားကြောင်းသေချာအောင်လုပ်ပါ။ ခေါ်ဆိုမှုမရှိပါက clipping area ရိယာသည်ပုံမှန်အားဖြင့်ဗလာဖြစ်သည်။
imageclipset($img, $x, $y, $width, $height);
ImagecReathertjpeg ကဲ့သို့သောလုပ်ဆောင်ချက်များကို အသုံးပြု. ရုပ်ပုံများကိုတင် သောအခါ ,
$img = imagecreatefromjpeg('http://m66.net/images/sample.jpg');
if (!$img) {
die('Image Loading မအောင်မြင်ပါ,ကျေးဇူးပြု. ဖိုင်လမ်းကြောင်းသို့မဟုတ်ပုံစံကိုစစ်ဆေးပါ。');
}
အကယ်. သင်သည်ကြီးမားသောရုပ်ပုံများကိုကိုင်တွယ်ဖြေရှင်းနေပါက script အစတွင်မှတ်ဉာဏ်ကန့်သတ်ချက်ကိုသင့်လျော်စွာတိုးမြှင့်ပေးရန်အကြံပြုသည်။
ini_set('memory_limit', '256M');
ပွင့်လင်းမြင်သာသောရုပ်ပုံများကိုသီးပွင့်ပွင့်လင်းမြင်သာသောပြ a နာတစ်ခုရှိပါကပုံရိပ်ကိုထောက်ပံ့ထားသော format ကိုပထမ ဦး ဆုံးပြောင်းလဲခြင်းသို့မဟုတ်ပွင့်လင်းမြင်သာသောရုပ်သံလိုင်းကိုမှန်ကန်စွာကိုင်တွယ်ရန်စဉ်းစားပါ။
imagesavealpha($img, true);
ဤနေရာတွင်ပုံရိပ်၏သတ်မှတ်ထားသော area ရိယာသီးနှံများသီးနှံများကိုအကောင်အထည်ဖော်ခြင်းနှင့်သိမ်းဆည်းခြင်းကိုအကောင်အထည်ဖော်သည့်အပြည့်အဝနမူနာကုဒ်ဖြစ်သည်။
<?php
$img = imagecreatefromjpeg('http://m66.net/images/sample.jpg');
if (!$img) {
die('Image Loading မအောင်မြင်ပါ');
}
$clip_x = 50;
$clip_y = 50;
$clip_w = 100;
$clip_h = 100;
// သီးနှံအကွာအဝေးကန့်သတ်
$width = imagesx($img);
$height = imagesy($img);
if ($clip_x + $clip_w > $width) {
$clip_w = $width - $clip_x;
}
if ($clip_y + $clip_h > $height) {
$clip_h = $height - $clip_y;
}
imageclipset($img, $clip_x, $clip_y, $clip_w, $clip_h);
// ပစ်မှတ်ပုံရိပ်တစ်ခုဖန်တီးပါ
$dst = imagecreatetruecolor($clip_w, $clip_h);
imagecopy($dst, $img, 0, 0, $clip_x, $clip_y, $clip_w, $clip_h);
imagejpeg($dst, 'clipped.jpg');
imagedestroy($img);
imagedestroy($dst);
echo "ဖြတ်တောက်ခြင်းပြီးပြီ,အဖြစ်သိမ်းဆည်းခဲ့သည်clipped.jpg";
?>