Image PhpP အတွက် PHP ကိုအသုံးပြုသောအခါ Imagecropauto () function သည်ဓာတ်ပုံများတွင်ကြီးမားသောသုတ်ဆေးများကိုဓာတ်ပုံများတွင်အသုံးမ 0 င်သောနေရာများကိုအလိုအလျောက်သီးနှံများကိုအလိုအလျောက်သီးနှံများကိုအလိုအလျောက်သီးနှံများကိုအသုံးပြုလေ့ရှိသည်။ သို့သော်တစ်ခါတစ်ရံတွင်ဤလုပ်ဆောင်ချက်သည်အထူးသဖြင့်ကြီးမားသောအရွယ်အစားမြင့်မားသောရုပ်ပုံများနှင့်ဆက်ဆံရာတွင်အမှန်တကယ်အသုံးပြုမှုတွင်မှတ်ဥာဏ်လျှပ်ကူးခန်းမများနှင့်တွေ့ဆုံကြသည်။ မှတ်ဥာဏ်လျှံခြင်းများကိုအဘယ်ကြောင့်ဖြစ်ပေါ်လာရပြီးအချို့ဖြေရှင်းနည်းများကိုအဘယ်ကြောင့်ဖြစ်ပေါ်စေသည်ကိုဤဆောင်းပါးလေ့လာကြည့်ပါလိမ့်မည်။
Imagecropauto () PHP တွင်ရုပ်ပုံသီးနှံများသည်ပုံတူသီးနှံများသည် GD စာကြည့်တိုက်၏အစိတ်အပိုင်းဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်ရုပ်ပုံပတ် 0 န်းကျင်တွင်ပွင့်လင်းမြင်သာမှုသို့မဟုတ်တစ်ခုတည်းသောအရောင်များကိုအလိုအလျောက်သီးနှံများကိုအလိုအလျောက်သီးနှံများကိုအလိုအလျောက်သီးနှံများကိုအလိုအလျောက်သီးနိုင်ပြီးပုံ၏ပိုလျှံသောအစိတ်အပိုင်းများကိုသန့်ရှင်းအောင်ပြုလုပ်လေ့ရှိသည်။ ၎င်းသည်စကင်ဖတ်ထားသောရုပ်ပုံများ, အယ်လ်ဘမ်များ, ဖန်သားပြင်များနှင့်အခြားရုပ်ပုံများကိုကိုင်တွယ်ရန်အထူးသဖြင့်အသုံးဝင်သည်။ ၎င်း၏အသုံးပြုမှုအောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'path/to/image.jpg'</span></span><span>);
</span><span><span class="hljs-variable">$cropped_image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecropauto</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span></span>
အထူးသဖြင့်ပုံရိပ်ဖြတ်တောက်ခြင်းလုပ်ငန်းများကိုပြုလုပ်သောအခါမှတ်ဥာဏ်လျှံသောပြ problems နာများသည်များသောအားဖြင့်ဖြစ်ပွားလေ့ရှိသည်။ Image processing လုပ်သည့်အခါ PHP သည်ပုံကိုမှတ်ဉာဏ်သို့အပြည့်အဝတင်မည်။ အကယ်. ပုံသည်အလွန်ကြီးမားသောသို့မဟုတ် System ၏မှတ်ဉာဏ် configuration ဝါဒသည်နိမ့်ပါက PHP မှခွင့်ပြုထားသောမှတ်ဉာဏ်က န့ ်သတ်ချက်ထက်ကျော်လွန်နိုင်သည်။
ပုံကိုဖြတ်တောက်ချိန်တွင် Imagecropauto () function သည် pixel point တစ်ခုစီကို pixel point တစ်ခုစီကိုတွက်ချက်ရန်နှင့်ပုံကိုလုပ်ဆောင်ရန်လိုအပ်သည်။ ကြီးမားသောရုပ်ပုံများအတွက်ဤပြုပြင်ထုတ်လုပ်မှုသည်မှတ်ဥာဏ်လျှံပြ problems နာများကိုဖြစ်ပေါ်စေသည်။
PHP တွင် default memory limit တွင် default memory limit တွင်ဆာဗာအရင်းအမြစ်များအလွန်အကျွံစားသုံးခြင်းကိုရှောင်ကြဉ်ရန်ဖြစ်သည်။ အကယ်. သင်သည်မှတ်ဥာဏ်လျှံကိုတွေ့ကြုံခံစားနေလျှင်, Ini_set () function ကို (သို့မဟုတ်) function မှတဆင့်မှတ်ဉာဏ် ကန့် သတ်ချက်ကိုယာယီတိုးမြှင့်နိုင်သည် ။
<span><span><span class="hljs-title function_ invoke__">ini_set</span></span><span>(</span><span><span class="hljs-string">'memory_limit'</span></span><span>, </span><span><span class="hljs-string">'512M'</span></span><span>); </span><span><span class="hljs-comment">// မှတ်ဉာဏ်ကန့်သတ်တိုးမြှင့် 512MB</span></span><span>
</span></span>
အကယ်. ၎င်းကို PHP.INI configuration file file မှတဆင့်ပြုပြင်မွမ်းမံပါကပြုပြင်ခြင်းသည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-attr">memory_limit</span></span><span> = </span><span><span class="hljs-number">512</span></span><span>M
</span></span>
ပြုပြင်မွမ်းမံပြီးနောက် PHP 0 န်ဆောင်မှုကိုချိန်ညှိချက်များလျှော့ချရန်ပြန်လည်စတင်နိုင်သည်။
မှတ်ဉာဏ်ပြည့်လျှံမှုတစ်ခု၏နောက်အကြောင်းရင်းတစ်ခုမှာပုံသည်အလွန်မြင့်မားသော resolution လည်းရှိသည်။ အကယ်. ပုံအရွယ်အစားသည်အလွန်ကြီးလွန်းပါကအပြောင်းအလဲများနေစဉ်အတွင်းမှတ်ဥာဏ်အလွန်အကျွံတက်လိမ့်မည်။ Imagecropauto () function ကိုမခေါ်မီပုံအရွယ်အစားကိုလျှော့ချရန်ပုံကိုသင်စကေးနိုင်သည်။
<span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'path/to/image.jpg'</span></span><span>);
</span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagesx</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-variable">$height</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagesy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-comment">// အကျယ်နှင့်အမြင့်အသစ်ကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$new_width</span></span><span> = </span><span><span class="hljs-number">1000</span></span><span>;
</span><span><span class="hljs-variable">$new_height</span></span><span> = </span><span><span class="hljs-title function_ invoke__">floor</span></span><span>(</span><span><span class="hljs-variable">$height</span></span><span> * (</span><span><span class="hljs-variable">$new_width</span></span><span> / </span><span><span class="hljs-variable">$width</span></span><span>));
</span><span><span class="hljs-comment">// zoomed-out ပုံရိပ်ကိုဖန်တီးပါ</span></span><span>
</span><span><span class="hljs-variable">$resized_image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagescale</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$new_width</span></span><span>, </span><span><span class="hljs-variable">$new_height</span></span><span>);
</span><span><span class="hljs-variable">$cropped_image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecropauto</span></span><span>(</span><span><span class="hljs-variable">$resized_image</span></span><span>);
</span></span>
ရုပ်ပုံ၏အရွယ်အစားကိုလျှော့ချခြင်းအားဖြင့်မှတ်ဉာဏ်အသုံးပြုမှုကိုအလွန်လျှော့ချနိုင်ပြီးမှတ်ဉာဏ်ပြည့်လျှံပြ problems နာများကိုရှောင်ရှားနိုင်သည်။
PHP တွင် Image processing အတွက်အရင်းအမြစ်များသည်မှတ်ဥာဏ်စားသုံးခြင်းဖြစ်သည်။ အကယ်. သင်သည်ပုံရိပ်အရင်းအမြစ်များကိုပုံရိပ်ထုတ်ယူမှုမျိုးစုံဖြင့်အသုံးပြုပါက၎င်းတို့ကိုအချိန်မီဖြန့်ချိရန်ပျက်ကွက်ပါက၎င်းသည်မှတ်ဥာဏ်ကိုစုဆောင်းရန်နှင့်ပြည့်လျှံစေနိုင်သည်။ ထို့ကြောင့်, ရုပ်ပုံကိုအသုံးပြုပြီးနောက်, အရင်းအမြစ်များကိုအချိန်မီဖြန့်ချိသင့်သည်။
<span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>); </span><span><span class="hljs-comment">// မူရင်းပုံကိုလွှတ်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$resized_image</span></span><span>); </span><span><span class="hljs-comment">// thumbnail ကိုလွှတ်လိုက်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$cropped_image</span></span><span>); </span><span><span class="hljs-comment">// cropped ပုံရိပ်ကိုလွှတ်</span></span><span>
</span></span>
ကွဲပြားခြားနားသောပုံရိပ်ပုံစံများကွဲပြားခြားနားသောမှတ်ဉာဏ်တက်ယူပါ။ ဥပမာအားဖြင့်, JPEG ရုပ်ပုံများသည်ယေဘုယျအားဖြင့် PNG သို့မဟုတ် TIFF ပုံစံများထက်မှတ်ဉာဏ်နည်းသည်။ ထို့ကြောင့်ပုံရိပ်သီးသီးနှံများကိုမလုပ်ဆောင်မီသင့်တော်သောပုံရိပ်ပုံစံကိုရွေးချယ်ရန်အထူးသဖြင့်ပုံအရည်အသွေးလိုအပ်ချက်များသည်အထူးသဖြင့်မမြင့်မားပါ။ JPEG format ကိုရွေးချယ်ခြင်းသည်မှတ်ဥာဏ်ကိုချွေတာနိုင်သည်။
အထက်ဖော်ပြပါနည်းလမ်းသည်ပြ the နာကိုလုံးဝမဖြေရှင်းနိုင်ပါကပုံရိပ်ပြုပြင်ခြင်းလိုအပ်ချက်များကိုမဖြေရှင်းနိုင်ပါကဆာဗာဟာ့ဒ်ဝဲကိုအဆင့်မြှင့်ရန်စဉ်းစားရန်လိုအပ်နိုင်သည်။ RAM (Memory) နှင့် CPU စွမ်းဆောင်ရည်ပိုမိုထည့်ခြင်းသည်ဓာတ်ပုံများပြုပြင်သည့်အခါ PHP scripts ၏တည်ငြိမ်မှုနှင့်ထိရောက်မှုကိုတိုးတက်စေနိုင်သည်။
Memory overflow ပြ issues နာများသည် isagecropauto () function ကို အသုံးပြု. ပုံများသီးနှံများကိုသီးနှံများကိုသီးနှံများကိုသီးနှံများကိုသီးနှံများသည်ဘုံစိန်ခေါ်မှုတစ်ခုဖြစ်သည်။ မှတ်ဥာဏ်ကန့်သတ်ချက်များတိုးများလာခြင်းကြောင့်ပုံရိပ်အရွယ်အစားကိုပိုမိုကောင်းမွန်စေရန် Memory Resource ကိုရွေးချယ်ခြင်း, အကြီးစားပုံရိပ်ထုတ်ယူခြင်းကိုရင်ဆိုင်သောအခါမှတ်ဥာဏ်ဖိအားကိုလျှော့ချရန်ဖြန့်ဝေထားသောကွန်ပျူတာသို့မဟုတ်ပြတ်တောင်းပြတ်တောင်းအပြောင်းအလဲနဲ့လည်းစဉ်းစားနိုင်သည်။
အထက်ပါနည်းလမ်းဖြင့် PHP ကိုသင်ပိုမိုထိရောက်စွာလုပ်ဆောင်ရန်ပိုမိုထိရောက်စွာလုပ်ဆောင်ရန် အသုံးပြု. မှတ်ဉာဏ်ပြည့်လျှောလျှောဖြင့်သင်၏ဆာဗာသည် 0 န်ဆောင်မှုကိုမရပ်တည်နိုင်ပါ။