ကြီးမားသောပုံရိပ်များပြုလုပ်သောအခါ PHP ရှိ ImpleTRuecolortoplettette function သည်အထူးသဖြင့်ဆာဗာမှတ်ဉာဏ်အရင်းအမြစ်များနှင့်အတူပတ် 0 န်းကျင်တွင်စွမ်းဆောင်ရည်မြှင့်တင်ရေးတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်လက်တွေ့ကျသောအပလီကေးရှင်းများ၌မှတ်ဉာဏ်ကန့်သတ်ချက်များနှင့်မည်သို့နည်းဗျူဟာများကမည်သို့နည်းဗျူဟာများပြုလုပ်နိုင်သည်ကိုဤဆောင်းပါးသည်မည်သို့သက်ရောက်မှုရှိသည်ကိုလေ့လာလိမ့်မည်။
ImagetRuecolortopalette function ၏အဓိကလုပ်ဆောင်ချက်မှာ TrueColor ကို palette အခြေခံပုံရိပ်သို့ပြောင်းရန်ဖြစ်သည်။ ၎င်းသည်အချို့သောအခြေအနေများတွင်အလွန်အသုံးဝင်သည်။
ပုံရိပ်ဖိုင်များ၏ပမာဏကိုလျှော့ချပါ (ဥပမာ GIF သို့ပြောင်းပါ)
အရင်းအမြစ်များကိုအကန့်အသတ်ရှိသောပတ် 0 န်းကျင်တွင်ရေးဆွဲခြင်းပုံများ (palette ရုပ်ပုံများသည်မှတ်ဉာဏ်နည်းသည်)
၎င်း၏ function ကိုအဓိပ္ပါယ်ဖွငျ့အောက်ပါအတိုင်းဖြစ်သည် -
bool imagetruecolortopalette(GdImage $image, bool $dither, int $ncolors)
အတွက်
$ Image သည်အသုံးပြုမည့်ပုံရိပ်အရင်းအမြစ်ဖြစ်သည်။
$ DIVER သည် jitter algorithm ကို enable လုပ်မဖြစ်စေ,
$ NCOLOLors သည် နောက်ဆုံးပုံရိပ် palette (အများဆုံး 256) တွင်အရောင်အရေအတွက်ဖြစ်သည်။
PHP သည်ရုပ်ပုံများကိုပြုပြင်သည့်အခါ memory_limit configuration item မှကန့်သတ်ထားသည်။ ကြီးမားသောပုံရိပ်များအတွက်အထူးသဖြင့်မြင့်မားသော resolution စစ်မှန်သောအရောင်ပုံရိပ်များ (pixel တစ်ခုချင်းစီကိုမှတ်ဉာဏ် 4 ခုကိုအသုံးပြုသည်) Memory စားသုံးမှုသည်အလွန်မြင့်မားသည်။ ဥပမာအားဖြင့် 4000x3000 ၏ပုံရိပ်သည်စိတ်ဓာတ်ကျသည့်အခြေအနေတွင်ခန့်မှန်းခြေအားဖြင့်လိုအပ်သည်။
4000 x 3000 x 4 bytes = 48,000,000 bytes ≈ 45.8MB
ImagetRuecolortopalette ကိုကွပ်မျက်စဉ်အတွင်းအရောင်အချက်အလက်များ, ယာယီကြားခံစသည်တို့ကိုသိုလှောင်ရန်အပိုဆောင်းမှတ်ဉာဏ်လိုအပ်သည်။ အမှန်တကယ်မှတ်ဉာဏ်အသုံးပြုမှုသည် Memory_Limit ကန့်သတ်ချက်ထက်ကျော်လွန်သောအခါ PHP သည်ဆိုးဝါးသောအမှားကိုလွှင့်ပစ်လိမ့်မည်။
developer များသည် ပုံအရွယ်အစားကိုရရှိနိုင်ပါသည် ။
$info = getimagesize('https://gitbox.net/images/large-image.jpg');
$width = $info[0];
$height = $info[1];
$estimated = $width * $height * 4 + 1024 * 1024 * 10; // အပိုဆောင်းသံသယ 10MB
ini_set('memory_limit', $estimated);
ပစ်မှတ်ရည်ရွယ်ချက်ကခွင့်ပြုပါကသင်သည်ပုံကိုပထမ ဦး ဆုံးလျှော့ချပြီး palette ကိုပြောင်းလဲနိုင်သည်။
$source = imagecreatefromjpeg('https://gitbox.net/images/large-image.jpg');
$resized = imagescale($source, 1000, 750); // မှကျုံ့ 1/4 အရွယ်
imagetruecolortopalette($resized, true,