လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ရုပ်ပုံကြီးများသည့်အခါမှတ်ဥာဏ်ကန့်သတ်ချက်များကိုကိုင်တွယ်ရန် ImageEtRuecolortopalette ကိုသုံးပါ

ရုပ်ပုံကြီးများသည့်အခါမှတ်ဥာဏ်ကန့်သတ်ချက်များကိုကိုင်တွယ်ရန် ImageEtRuecolortopalette ကိုသုံးပါ

gitbox 2025-05-27

ကြီးမားသောပုံရိပ်များပြုလုပ်သောအခါ PHP ရှိ ImpleTRuecolortoplettette function သည်အထူးသဖြင့်ဆာဗာမှတ်ဉာဏ်အရင်းအမြစ်များနှင့်အတူပတ် 0 န်းကျင်တွင်စွမ်းဆောင်ရည်မြှင့်တင်ရေးတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်လက်တွေ့ကျသောအပလီကေးရှင်းများ၌မှတ်ဉာဏ်ကန့်သတ်ချက်များနှင့်မည်သို့နည်းဗျူဟာများကမည်သို့နည်းဗျူဟာများပြုလုပ်နိုင်သည်ကိုဤဆောင်းပါးသည်မည်သို့သက်ရောက်မှုရှိသည်ကိုလေ့လာလိမ့်မည်။

1 ။ ImagetRuecolortopalette ၏အခန်းကဏ်။

ImagetRuecolortopalette function ၏အဓိကလုပ်ဆောင်ချက်မှာ TrueColor ကို palette အခြေခံပုံရိပ်သို့ပြောင်းရန်ဖြစ်သည်။ ၎င်းသည်အချို့သောအခြေအနေများတွင်အလွန်အသုံးဝင်သည်။

  • ပုံရိပ်ဖိုင်များ၏ပမာဏကိုလျှော့ချပါ (ဥပမာ GIF သို့ပြောင်းပါ)

  • အရင်းအမြစ်များကိုအကန့်အသတ်ရှိသောပတ် 0 န်းကျင်တွင်ရေးဆွဲခြင်းပုံများ (palette ရုပ်ပုံများသည်မှတ်ဉာဏ်နည်းသည်)

၎င်း၏ function ကိုအဓိပ္ပါယ်ဖွငျ့အောက်ပါအတိုင်းဖြစ်သည် -

 bool imagetruecolortopalette(GdImage $image, bool $dither, int $ncolors)

အတွက်

  • $ Image သည်အသုံးပြုမည့်ပုံရိပ်အရင်းအမြစ်ဖြစ်သည်။

  • $ DIVER သည် jitter algorithm ကို enable လုပ်မဖြစ်စေ,

  • $ NCOLOLors သည် နောက်ဆုံးပုံရိပ် palette (အများဆုံး 256) တွင်အရောင်အရေအတွက်ဖြစ်သည်။

2 ။ မှတ်ဉာဏ်ကန့်သတ်ပြ problems နာများကိုခွဲခြမ်းစိတ်ဖြာခြင်း

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 သည်ဆိုးဝါးသောအမှားကိုလွှင့်ပစ်လိမ့်မည်။

3 ။ လက်တွေ့ကျသောပိုကောင်းတဲ့မဟာဗျူဟာ

1 ။ ကြိုတင်မှတ်ဉာဏ်လိုအပ်ချက်များကိုကြိုတင်ခန့်မှန်းပါ

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);

2 ။ ပုံရိပ် resolution ကိုလျှော့ချပြီးပြောင်းလဲပါ

ပစ်မှတ်ရည်ရွယ်ချက်ကခွင့်ပြုပါကသင်သည်ပုံကိုပထမ ဦး ဆုံးလျှော့ချပြီး palette ကိုပြောင်းလဲနိုင်သည်။

 $source = imagecreatefromjpeg('https://gitbox.net/images/large-image.jpg');
$resized = imagescale($source, 1000, 750); // မှကျုံ့ 1/4 အရွယ်
imagetruecolortopalette($resized, true,