အရောင်ခွဲဝေမှုသည်ပုံသမ်းနေးများကိုပြုပြင်သည့်အခါအလွန်အရေးကြီးသောအပိုင်းဖြစ်သည်။ သင့်လျော်သောအရောင်စီမံခန့်ခွဲမှုသည်သမ်းနေးများကိုပိုမိုအသေးစိတ်လေ့လာရန်နှင့်အမြင်အာရုံဆိုင်ရာသက်ရောက်မှုများပိုမိုကောင်းမွန်အောင်ထိန်းသိမ်းထားရန်ခွင့်ပြုသည်။ ဤဆောင်းပါးသည် PHP ကို သုံး. PHP ကို သုံး. လက်တွေ့ကျသောအရောင်ခွဲဝေမှုနည်းစနစ်များကိုသင့်အားလက်တွေ့ကျသောအရောင်ခွဲဝေမှုနည်းစနစ်များကိုရှင်းပြရန်ဥပမာတစ်ခုအဖြစ်အသုံးပြုလိမ့်မည်။
thumbnails များသည်များသောအားဖြင့်အရွယ်အစားသေးငယ်ပြီး pixel အရေအတွက်အကန့်အသတ်ရှိသည်။ အကယ်. အရောင်ခွဲဝေမှုသည်မသင့်လျော်ပါကပုံရိပ်အရည်အသွေးကျဆင်းစေရန်လွယ်ကူသည်။ ဥပမာအားဖြင့်:
သေးငယ်သောအရောင်များပမာဏသည်ပုံအသေးစိတ်ကိုဆုံးရှုံးစေသည်။
အရောင်ရွေးချယ်ခြင်းသည်သိသာထင်ရှားသည့်အရောင်ခြားနားချက်ကိုဖြစ်ပေါ်စေသည်။
Transparent channel ကိုစနစ်တကျကိုင်တွယ်ခြင်းမပြုလုပ်ပါ။
ဤပြ problems နာများကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည်အစီအစဉ်တွင်အရောင်များကိုကျိုးကြောင်းဆီလျော်စွာစီစဉ်ရန်နှင့်သတ်မှတ်ရန်လိုအပ်သည်။
PHP တွင် GD စာကြည့်တိုက်များကို Image processing အတွက်အသုံးပြုလေ့ရှိသည်။ အောက်ပါတို့သည်လက်တွေ့ကျတဲ့နည်းစနစ်များဖြစ်သည်။
ပုံရိပ်ကိုမလုပ်ဆောင်မီစစ်မှန်သောအရောင်ပတ်တူကိုဖန်တီးခြင်းကို ဦး စားပေးဆောင်ရွက်ပါ။
<?php
// စစ်မှန်သောအရောင်ပုံရိပ်အသစ်တစ်ခုဖန်တီးပါ
$thumbWidth = 200;
$thumbHeight = 200;
$thumb = imagecreatetruecolor($thumbWidth, $thumbHeight);
// မူရင်းပုံကိုတင်ပါ
$source = imagecreatefromjpeg('https://m66.net/images/original.jpg');
// ကူးယူခြင်းနှင့်အရွယ်အစား
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $thumbWidth, $thumbHeight, imagesx($source), imagesy($source));
// thumbnails ကိုကယ်တင်ပါ
imagejpeg($thumb, 'https://m66.net/images/thumbnail.jpg');
// မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($thumb);
imagedestroy($source);
?>
ImagecreatetRuecolor () သည် အရောင်အရေအတွက်ကန့်သတ်ချက်ကိုရှောင်ရှားရန်နှင့်မူလပုံအသေးစိတ်ကိုအများဆုံးအတိုင်းအတာအထိထိန်းသိမ်းရန်သော့ချက်ဖြစ်သည်။
သင်၏ပုံသည် PNG ကဲ့သို့သောပွင့်လင်းမြင်သာသောနောက်ခံရှိပါကကူးယူခြင်းမပြုမီပွင့်လင်းမြင်သာသောသတင်းအချက်အလက်များကိုသေချာအောင်လုပ်ပါ။
<?php
$thumb = imagecreatetruecolor($thumbWidth, $thumbHeight);
$source = imagecreatefrompng('https://m66.net/images/original.png');
// ပွင့်လင်းအရောင်များကိုခွင့်ပြုထားသည်
imagesavealpha($thumb, true);
$transparent = imagecolorallocatealpha($thumb, 0, 0, 0, 127);
imagefill($thumb, 0, 0, $transparent);
// ကူးယူခြင်းနှင့်အရွယ်အစား
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $thumbWidth, $thumbHeight, imagesx($source), imagesy($source));
// thumbnails ကိုကယ်တင်ပါ
imagepng($thumb, 'https://m66.net/images/thumbnail.png');
imagedestroy($thumb);
imagedestroy($source);
?>
Imagesavealpha () နှင့် ImagecolorallalPha () သည်ပွင့်လင်းမြင်သာသောနောက်ခံသည်ကောင်းမွန်စွာတည်ရှိနိုင်သည်။
ချုံ့ခြင်းလုပ်ငန်းစဉ်အတွင်း imagecopyresized အစား agecopyresampled () ကို သုံးရန်အကြံပြုသည်။ ယခင်ချောချောမွေ့မွေ့ဖြစ်သွားပြီးရလဒ်မှာပိုမိုနူးညံ့သိမ်မွေ့။ သဘာဝကျသည်။
// မှန်ကန်သောသရုပ်ပြ
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $thumbWidth, $thumbHeight, imagesx($source), imagesy($source));
Imagecopyresized () သည် အစာရှောင်ခြင်းဖြစ်သော်လည်း၎င်းသည်ဖဲကြိုးများနှင့်အရည်အသွေးမြင့်သောမျိုးစေ့မျိုးဆက်သစ်များအတွက်အကြံပြုခြင်းမရှိပါ။
နောက်ဆုံးတွင်၎င်းကို GIF အဖြစ်သိမ်းထားပါက, စစ်မှန်သောအရောင်ပုံရိပ်ကို palette image တစ်ခုအဖြစ်ပြောင်းလဲရန်နှင့်ကျိုးကြောင်းဆီလျော်သောအရောင်များကိုထိန်းချုပ်ရန်သင် imagetruecolortopalette () ကိုသုံးနိုင်သည်။
<?php
$thumb = imagecreatetruecolor($thumbWidth, $thumbHeight);
$source = imagecreatefromgif('https://m66.net/images/original.gif');
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $thumbWidth, $thumbHeight, imagesx($source), imagesy($source));
// အရောင် palette သို့ပြောင်းရန်,အများဆုံးထောက်ခံမှု256အရောင်
imagetruecolortopalette($thumb, true, 256);
// thumbnails ကိုကယ်တင်ပါ
imagegif($thumb, 'https://m66.net/images/thumbnail.gif');
imagedestroy($thumb);
imagedestroy($source);
?>
palette optimization မပြုလုပ်ပါက GIF သည်မှုန်ဝါးလာလိမ့်မည်သို့မဟုတ်အရောင်သွေဖည်လာလိမ့်မည်။
ပုံသမ်းနစ်မျိုးသုဉ်းခြင်း, အရောင်များကိုဆင်ခြင်တုံတရားခွဲဝေချထားပေးခြင်း, ပွင့်လင်းမြင်သာသောလမ်းကြောင်းများစီမံခန့်ခွဲမှုနှင့်အရည်အသွေးမြင့်သည့် algorithms ကို အသုံးပြု. အရည်အသွေးမြင့်သော algorithms ကို အသုံးပြု. နောက်ဆုံးပုံရိပ်၏အမြင်အာရုံနှင့်ကျွမ်းကျင်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။
သင်သမ်းနေးအရည်အသွေးကိုနောက်ထပ်ခြေလှမ်းတစ်ခုဖြစ်စေလိုပါကသင်၏ PHP processing process ကိုပိုမိုကောင်းမွန်စေရန်အထက်ဖော်ပြပါအချက်များနှင့်လည်းစကောင်းစတင်နိုင်သည်။
သတိရ: အသေးစိတ်အရည်အသွေးကိုဆုံးဖြတ်ရန်။ ??