PHP မှ imagetruecolortopalette function ကို php ၏ပုံရိပ်ကို palette image တစ်ခုအဖြစ်ပြောင်းလဲရန်အသုံးပြုသည်။ ပုံရိပ်အရောင်များနှင့်ဖိုင်အရွယ်အစားကိုလျှော့ချသောအခါအလွန်အသုံးဝင်သည်။ သို့သော်လူအများအပြားသည်ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်းပြ problems နာအမျိုးမျိုးကိုကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည် imagetruecolortopalette function တွင်အသုံးများသောအမှားများကိုခွဲခြမ်းစိတ်ဖြာပါလိမ့်မည်။
ImagetRuecolortopalette ၏ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
bool imagetruecolortopalette ( resource $image , bool $dither , int $ncolors )
$ Image : ပြောင်းလဲရန်လိုအပ်သည့်စစ်မှန်သောအရောင်ပုံရိပ်အရင်းအမြစ်။
$ DIVER : Jitter ကိုသုံးရန် (Jitter သည်ပြောင်းလဲခြင်းရလဒ်ကိုချောမွေ့စေလိမ့်မည်) ။
$ NCOLOLS : အမြင့်ဆုံးတန်ဖိုး 256 ခုနှင့်အတူ palette အတွက်အရောင်အရေအတွက်။
function ၏ပြန်လာတန်ဖိုးမှာ boolean အမျိုးအစားဖြစ်သည်။ အောင်မြင်မှုအတွက် မှန်ကန်သော ပြန်လာပြီးပျက်ကွက်မှုအတွက် မှားယွင်းသော နောက်သို့ပြန်သွားသည်။
ImagEntruecolortopalette သည် ဝင်လာသောပုံရိပ်သည်စစ်မှန်သောအရောင်ပုံရိပ်ဖြစ်ရန်လိုအပ်သည်။ အကယ်. 0 င်ရောက်လာသည့်ပုံသည် palette image တစ်ခုဖြစ်ပါက function သည် မှားယွင်းသော အရာဖြစ်သည်။
Troubleshooting နည်းလမ်း:
Detect လုပ်ရန် IdeistRuecolor () function ကိုသုံးပါ။
if (!imageistruecolor($image)) {
echo "input ကိုပုံမပေါ်ပါ true color အရုပ်,ပြောင်းလဲနိုင်ခြင်းမရှိပါ。";
}
ဖြေရှင်းချက် -
အကယ်. ၎င်းသည်မမှန်ပါက, isagecreatetRuecolor () ကို သုံး. မူရင်းပုံရိပ်အသစ်တစ်ခုကိုဖန်တီးရန်နှင့်မူရင်းပုံကိုကူးယူရန်သင်သည် isagecreatetRuecolor () ကိုသုံးနိုင်သည်။
$width = imagesx($source);
$height = imagesy($source);
$trueColorImage = imagecreatetruecolor($width, $height);
imagecopy($trueColorImage, $source, 0, 0, 0, 0, $width, $height);
ထို့နောက် imagetruecolortopalette ကို ခေါ်ရန် $ TrueCoecolorimage ကို သုံးပါ။
$ NCOLOLors များသည် 1 မှ 256 အထိသာလျှင်သာလျှင်အနေဖြင့်မျှော်လင့်ချက်များနှင့်မကိုက်ညီစေရန်ပျက်ကွက်ခြင်းသို့မဟုတ်ရလဒ်ကိုဖြစ်ပေါ်စေသည်။
Troubleshooting နည်းလမ်း:
အရောင်အရေအတွက်ကိုစစ်ဆေးပါ။
if ($ncolors < 1 || $ncolors > 256) {
echo "အရောင်အရေအတွက်ကို၌ရှိရမည် 1 ရောက်လာ 256 အကြား。";
}
ဖြေရှင်းချက် -
အရောင်အရေအတွက်သည်တရား 0 င်နယ်ပယ်အတွင်းရှိကြောင်းသေချာစေရန်အကြံပြုသည်။ လိုအပ်ချက်များအရ၎င်းကိုကျိုးကြောင်းဆီလျော်စွာထားရန်အကြံပြုသည်။ ၎င်းကိုယေဘုယျအားဖြင့် 16, 64, 128 နှင့် 256 တို့တွင်အသုံးပြုလေ့ရှိသည်။
အကယ်. ဝင်လာသော $ Image အရင်းအမြစ်သည်မမှန်ကန်ပါကသို့မဟုတ်ဖျက်ဆီးခံရသည်ဆိုပါက function သည်ပျက်ကွက်လိမ့်မည်။
Troubleshooting နည်းလမ်း:
Image အရင်းအမြစ်သည်မှန်ကန်မှုရှိမရှိအတည်ပြုပါ။
if (!is_resource($image) && !($image instanceof \GdImage)) {
echo "无效的အရုပ်资源。";
}
ဖြေရှင်းချက် -
ပုံကိုအမှားအယွင်းမရှိဘဲဖန်တီးထားပြီးကြိုတင်မဖျက်ဆီးနိုင်အောင်သေချာအောင်လုပ်ပါ။
ImagetRuecolortopalette function မအောင်မြင်ပါက မှားယွင်းစွာ ပြန်လည်ရောက်ရှိလာပြီးတိကျသောအမှားအချက်အလက်မရှိပါ။
Troubleshooting နည်းလမ်း:
သတိပေးချက်များ (သို့) အမှားရလဒ်များရှိ, မရှိခဲ့ပါက PHP အမှားအစီရင်ခံစာကိုဖွင့်ပါ။
error_reporting(E_ALL);
ini_set('display_errors', 1);
မှတ်တမ်းများသို့မဟုတ် debugging မှတဆင့်ပုံရိပ်၏ဖန်တီးမှုနှင့်စစ်ဆင်ရေးဖြစ်စဉ်ကိုအတည်ပြုပါ။
ပုံသည်စစ်မှန်သောအရောင်ဖြစ်ကြောင်းအတည်ပြုပါ။
ImageistRuecolor () စစ်မှန်သော ပြန်လာရမည်။
အရောင်အကွာအဝေးကိုစစ်ဆေးပါ။
$ ncolors 1-256 အကြားဖြစ်ပါတယ်။
ပုံရိပ်အရင်းအမြစ်ကိုအတည်ပြုပါ။
is_Resource () သို့မဟုတ် Instanceof \ gdimage ။
အမှားအယွင်းများကိုသတင်းပို့ခြင်းနှင့်လျှို့ဝှက်အမှားများကိုဖမ်းရန်ဖွင့်ပါ။
Code ကိုရိုးရှင်းအောင်ပြုလုပ်ခြင်းနှင့် imagetruecolortopalette ကို သီးခြားစစ်ဆေးပါ။
$image = imagecreatefromjpeg('gitbox.net/sample.jpg');
if (!$image) {
die("Image Loading မအောင်မြင်ပါ");
}
if (!imageistruecolor($image)) {
$trueColorImage = imagecreatetruecolor(imagesx($image), imagesy($image));
imagecopy($trueColorImage, $image, 0, 0, 0, 0, imagesx($image), imagesy($image));
$image = $trueColorImage;
}
$result = imagetruecolortopalette($image, true, 128);
if ($result) {
imagepng($image, 'gitbox.net/converted.png');
echo "ကူးပြောင်းအောင်မြင်စွာ";
} else {
echo "ပြောင်းလဲခြင်းမအောင်မြင်ပါ";
}
imagedestroy($image);
ImagEntruecolortopalette သည်အားကောင်းသောပုံရိပ်ထုတ်ယူခြင်းလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ သို့သော်ထည့်သွင်းပုံရိပ်ကိုပုံနှင့် parameters များကိုအာရုံစိုက်ရန်လိုအပ်သည်။ အထက်ဖော်ပြပါဘုံအမှားစစ်ဆေးမှုများနှင့်ပြန်လည်ပြုပြင်ခြင်းနည်းလမ်းများမှတဆင့်ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်းကြုံတွေ့ရသောပြ problems နာများကိုအကြီးအကျယ်လျှော့ချပြီးပြောင်းလဲခြင်းအကျိုးသက်ရောက်မှုနှင့်ပရိုဂရမ်တည်ငြိမ်မှုကိုသေချာစေနိုင်သည်။
အကယ်. သင်အသုံးပြုနေစဉ်အတွင်းပြ problems နာများကြုံတွေ့ရဆဲဖြစ်ပါကဤကုဒ်ကိုတဖြည်းဖြည်းရိုးရှင်းအောင်လုပ်ရန်အကြံပြုသည်။