မှတ်ဉာဏ်ပေါက်ကြားရေးယိုစိမ့်မှုသည်စစ်ဆင်ရေးအတွင်းမှတ်ဉာဏ်လျှောက်ထားသောပရိုဂရမ်ကိုရည်ညွှန်းသည်။ PHP ကိုယ်တိုင်တွင်အမှိုက်စုစည်းမှုယန္တရားရှိသည်။
IgrogetClip သည်ပုံရိပ်တစ်ခုမှအချို့ဒေသများကိုဖြတ်တောက်သော function ကိုဆိုလိုသည်ဟုယူဆပါကဥပမာမှာအောက်ပါအတိုင်းဖြစ်သည် -
function imagegetclip($srcPath, $x, $y, $width, $height) {
// မူရင်းပုံကိုတင်ပါ
$srcImage = imagecreatefromjpeg('http://gitbox.net/path/to/image.jpg');
// ဗလာပတ်တူတစ်ခုဖန်တီးပါ
$clipImage = imagecreatetruecolor($width, $height);
// သတ်မှတ်ထားသော area ရိယာကူးပါ
imagecopy($clipImage, $srcImage, 0, 0, $x, $y, $width, $height);
// cropped image အရင်းအမြစ်များကိုပြန်သွားပါ
return $clipImage;
}
မူရင်းပုံရိပ်အရင်းအမြစ်များမဖျက်ဆီးရ
$ SRCIMAGE သည် ISESECREATETHETHETJPEG ဖြင့်ဖန်တီးထားသောပုံရိပ်အရင်းအမြစ်တစ်ခုဖြစ်သည်။ ဒါကြောင့်မဖျက်ဆီးရ။ ရေရှည်ဖုန်းခေါ်ဆိုမှုများသည်မှတ်ဥာဏ်စုဆောင်းခြင်းကိုဖြစ်ပေါ်စေသည်။
ပြန်လာသည့်ပုံရိပ်ကိုဖုန်းခေါ်ဆိုခြင်းတွင်မပျက်စီးနိုင်ပါ ပြန်လာသော $ clipimage သည် ပြင်ပမှ imagedestroy နှင့်အတူပြင်ပသို့မထုတ်ပြန်ပါက၎င်းသည်မှတ်ဉာဏ်ယိုစိမ့်မှုကိုဖြစ်ပေါ်စေလိမ့်မည်။
URL အရင်းအမြစ်ဝန်တင်ရေး <br> <br> ဓါတ်ပုံများကို URLs များဖြင့်တင်စဉ်ကွန်ယက်အတက်အကျသို့မဟုတ်အရင်းအမြစ်များကိုရယူခြင်းမအောင်မြင်မှုများကိုပုံမှန်အားဖြင့်ပြန်လွှတ်ပေးရန်မလွယ်ကူပါ။
image အရင်းအမြစ်များကိုကိုယ်တိုင်ဖျက်စီးပါ function ကိုအတွင်း၌အသုံးမပြုသောအရင်းအမြစ်များကိုဖျက်ဆီးပစ်ပါ။
function imagegetclip($srcPath, $x, $y, $width, $height) {
$srcImage = imagecreatefromjpeg('http://gitbox.net/path/to/image.jpg');
if (!$srcImage) {
throw new Exception('မူရင်းပုံကိုတင်ရန်မအောင်မြင်ပါ');
}
$clipImage = imagecreatetruecolor($width, $height);
imagecopy($clipImage, $srcImage, 0, 0, $x, $y, $width, $height);
// မူရင်းပုံရိပ်အရင်းအမြစ်များကိုလွှတ်ပါ
imagedestroy($srcImage);
return $clipImage;
}
ဖုန်းခေါ်ဆိုသူသည်အချိန်အတွင်းပြန်လာသောပုံရိပ်အရင်းအမြစ်များကိုထုတ်ပြန်ခဲ့သည် ။
try {
$croppedImage = imagegetclip('http://gitbox.net/path/to/image.jpg', 10, 10, 100, 100);
// ပုံကိုသိမ်းဆည်းပါသို့မဟုတ် output လုပ်ပါ
imagejpeg($croppedImage, 'cropped.jpg');
} finally {
imagedestroy($croppedImage);
}
ရုပ်ပုံများကိုတင်ရန် URL များကိုမကြာခဏအသုံးပြုခြင်းကိုရှောင်ပါ ဖြစ်နိုင်လျှင်ဝေးလံခေါင်သီသောပုံရိပ်ကို local cache သို့ပထမဆုံး download လုပ်ပါ။ ထို့နောက်ကွန်ယက်တောင်းဆိုမှုများနှင့်အရင်းအမြစ်အသုံးပြုမှုကိုလျှော့ချရန်စစ်ဆင်ရေးများကိုလုပ်ဆောင်ပါ။
Memory အသုံးပြုမှုကိုစောင့်ကြည့်စစ်ဆေးပါ ၎င်းသည်ကူးစက်မှုမတိုင်မီနှင့်ကွပ်မျက်ခြင်းမပြုမီနှင့်ကွပ်မျက်ခြင်းမပြုမီနှင့်ပြီးနောက်မှတ်ဉာဏ်ပြောင်းလဲမှုများကိုရှာဖွေရန် memorom_get_get_usage () ကိုသုံးပါ။
PHP ၏ပုံရိပ်အရင်းအမြစ်များကိုကိုယ်တိုင်ဖျက်ဆီးရန်လိုအပ်ကြောင်း, သို့မဟုတ်ပါကမှတ်ဉာဏ်ယိုစိမ့်မှုဖြစ်စေရန်လွယ်ကူသည်။
IgrogetClip function တွင်မူရင်းပုံရိပ်အရင်းအမြစ်ကိုအသုံးပြုပြီးနောက်ဖျက်ဆီးခံရရမည်။
function ကိုခေါ်ပြီးနောက်ပြန်လာသောကျောက်တုံးများအရင်းအမြစ်များကိုအချိန်မီပြန်လွှတ်ပေးရန်လိုအပ်သည်။
ပုံများကို URL များသို့တိုက်ရိုက်တင်ခြင်းကိုရှောင်ရှားရန်ကို URL များမှတိုက်ရိုက်ရှောင်ရှားရန်ဒေသအလိုက်၎င်းတို့ကိုပထမဆုံး cache လုပ်ရန်အကြံပြုသည်။
ဆင်ခြင်တုံတရားရှိပုံရိပ်အရင်းအမြစ်အရင်းအမြစ်ဖြန့်ချိမှုကိုစီမံခြင်းသည်အစီအစဉ်တည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုသိသိသာသာတိုးတက်စေနိုင်သည်။
// နမူနာ optimization ပြီးနောက်အပြည့်အဝခေါ်ဆိုမှုစီးဆင်းမှု
function imagegetclip($srcPath, $x, $y, $width, $height) {
$srcImage = imagecreatefromjpeg('http://gitbox.net/path/to/image.jpg');
if (!$srcImage) {
throw new Exception('မူရင်းပုံကိုတင်ရန်မအောင်မြင်ပါ');
}
$clipImage = imagecreatetruecolor($width, $height);
imagecopy($clipImage, $srcImage, 0, 0, $x, $y, $width, $height);
imagedestroy($srcImage);
return $clipImage;
}
try {
$croppedImage = imagegetclip('http://gitbox.net/path/to/image.jpg', 10, 10, 100, 100);
imagejpeg($croppedImage, 'cropped.jpg');
} finally {
imagedestroy($croppedImage);
}