Image Phil အတွက် PHP ကိုအသုံးပြုသောအခါ isionecolorresolve () function ကိုမကြာခဏ palette ပုံရိပ်များဖြစ်စဉ်များတွင်မကြာခဏပေါ်လာပါသည်။ သို့သော် developer များစွာသည်ဤလုပ်ဆောင်ချက်ကိုအသုံးပြုသောအခါသူတို့ကမကြာခဏဆိုသလိုတွေးမိသည် - ** 24-bit (TrueColor) ပုံများနှင့် 8-bit (palette) ရုပ်ပုံများနှင့် 8-bit (palette) ရုပ်ပုံများနှင့် 8-bit (palette) ပုံများဖြင့်သူတို့၏အပြုအမူနှင့် ပတ်သက်. မည်သို့ကွာခြားသနည်း။ ** ယနေ့ကျွန်ုပ်တို့သည်ဤပြ issue နာအကြောင်းအတိမ်အနက်ဖြင့်ပြောဆိုပါလိမ့်မည်။
ပထမ ဦး စွာ isagecolorresolve () မိတ်ဆက်ပေးကြပါစို့။ ဤလုပ်ဆောင်ချက်၏လုပ်ဆောင်ချက်မှာ -
သတ်မှတ်ထားသောအရောင်သည် palette image တွင်ရှိပြီးသားဆိုလျှင်ရှာဖွေပါ။ တည်ရှိပါကအရောင်အညွှန်းကိုပြန်ပို့ပါ။ အကယ်. ၎င်းသည်မရှိပါကဤအရောင်ကို palette သို့ထည့်သွင်းရန်နှင့်အညွှန်းကိန်းအသစ်ကိုပြန်ပို့သည်။
အခြေခံအသုံးပြုမှုဥပမာများ -
<?php
// ပုံတစ်ပုံဖန်တီးပါ 8 Bit Palette ပုံရိပ်
$image = imagecreate(100, 100);
// အနီရောင်အဓိပ္ပာယ်
$red = imagecolorresolve($image, 255, 0, 0);
// ဒီအရောင်နှင့်စတုဂံဆွဲပါ
imagefilledrectangle($image, 10, 10, 90, 90, $red);
// output ကိုပုံ
header('Content-Type: image/png');
imagepng($image);
// အရင်းအမြစ်များကိုဖျက်ဆီးသည်
imagedestroy($image);
?>
အကယ်. အနီရောင်သည် palette တွင်ရှိပြီးသားဖြစ်ပါက isagecolorresolve () သည် လက်ရှိအရောင်အညွှန်းကိန်းကိုပြန်ပို့သည်။ ဒီလိုမှမဟုတ်ရင်ဒါဟာ palette ဖို့အလိုအလျှောက်အနီရောင်ထည့်ပါလိမ့်မယ်။
24-bit truecolor ပုံရိပ်ကို imagecreatetuecolor () ဖြင့် () နှင့်အတူ 24-bit trueecolor ပုံရိပ်ကိုဖန်တီးသောအခါ, image ကိုယ်နှိုက်က palette မရှိကြပါ ။ Pixel တစ်ခုစီသည် RGB အရောင်တန်ဖိုးများကိုလွတ်လပ်စွာသိုလှောင်နိုင်သည်။
ဒါကြောင့်မေးခွန်းကတော့ isaecolorresolvve () ကို TrueColor Image ကိုခေါ်ရင်ဘာဖြစ်မလဲ။
အဖြေမှာ -
ISESECOSORRESOLVESOSOLESOULE () ကိုသင်ခေါ်ဆိုလျှင်ပင် PHP သည်အရောင်အညွှန်းများကိုအမှန်တကယ်မဖွင့်ပါ, သို့သော် RGB တန်ဖိုးများမှတွက်ချက်သည်။
ဥပမာအားဖြင့်:
<?php
// ပုံတစ်ပုံဖန်တီးပါ 24 မြင်းဇက်ကြိုး TrueColor အရုပ်
$image = imagecreatetruecolor(100, 100);
// အပြာရောင်သတ်မှတ်ပါ
$blue = imagecolorresolve($image, 0, 0, 255);
// ဒီအရောင်နှင့်စတုဂံဆွဲပါ
imagefilledrectangle($image, 10, 10, 90, 90, $blue);
// output ကိုပုံ
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
ဤတွင် $ အပြာ ( 255 ) သည်အရောင်ညွှန်းကိန်းမဟုတ်ဘဲကိန်းဂဏန်းများဖြစ်သည်။ ဤ mode တွင် pixel တစ်ခုချင်းစီကိုအပြည့်အဝ RGB အချက်အလက်များကိုသီးခြားသိမ်းဆည်းထားသည့်အတိုင်းအရောင်တည်ရှိမှုကိုသင်စိတ်ပူစရာမလိုပါ။
8-bit Image ( Imagecreate () မှဖန်တီးသည်) တွင် ပုံရိပ်၏အရောင်များကိုအကန့်အသတ်ဖြင့်သာအကန့်အသတ်ရှိသည်။
ထို့ကြောင့် ISESECOSORRESOLVELEL () ဟုခေါ်သောအခါ PHP သည် -
သတ်မှတ်ထားသောအရောင်ရှိပြီးသားရှိမရှိကြည့်ရှုရန်အရောင်တောက်ပသော palette မှတဆင့်ကြားဖြတ်။
ပစ္စုပ္ပန်လျှင်၎င်း၏အညွှန်းကိုပြန်ပို့ပါ။
ပစ္စုပ္ပန်မတင်ပြလျှင် (အာကာသလုံလောက်လျှင်) palette ထဲသို့ထည့်ပါ။
palette အပြည့်အဝလျှင်, သတ်မှတ်ထားသောအရောင်နှင့်အနီးဆုံးအရောင်အရောင်၏အညွှန်းကိန်းကိုပြန်သွားပါ။
တစ်ခါတစ်ရံတွင်တစ်ခါတစ်ရံတွင် 8-bit ပုံရိပ်များသည်ရှုပ်ထွေးသောပုံရိပ်များကိုထုတ်လုပ်သည့်အခါ အရောင်ပြောင်းလဲ ပုံရသည်။
ဥပမာ -
<?php
$image = imagecreate(100, 100);
// palette ကန့်သတ်ထက်ကျော်လွန်သောအရောင်များထည့်သွင်းကြိုးစားပါ
for ($i = 0; $i < 300; $i++) {
$color = imagecolorresolve($image, rand(0,255), rand(0,255), rand(0,255));
}
// ပုံတစ်ပုံကိုထုတ်လုပ်ပါ,ကြည့်ရှုရန်
header('Content-Type: image/png');
imagepng($image);
// အရင်းအမြစ်ဖြန့်ချိမှု
imagedestroy($image);
?>
အထက်ဖော်ပြပါကုဒ်နံပါတ် 300 တွင်ကွဲပြားခြားနားသောအရောင်ပေါင်း 300 ကိုထည့်သွင်းရန်ကြိုးစားသော်လည်းပုံတွင်အရောင် 256 ခုအထိသာရှိလိမ့်မည်။
ပုံအမျိုးအစား | imagecolorresolve () အပြုအမူဖော်ပြချက် |
---|---|
24-bit truecolor | တစ် palette အသုံးမပြုဘဲအရောင်တန်ဖိုး (int) ကိုပြန်ပို့သည် |
8-bit အရောင် palette image | အရောင် 256 ကန့်သတ်ထားသောအရောင်အညွှန်းများကိုရှာပါသို့မဟုတ်ထည့်ပါ |
ထို့ကြောင့်အကျဉ်းချုပ်ရန် -
24-bit Imagesolveolsolvve () isagecolorresolve () သည်မလိုအပ်ပါ။ သင်ကိုယ်တိုင် ကိုတိုက်ရိုက်သို့မဟုတ်အရောင်တည်ဆောက်ခြင်းကိုသင်ကိုယ်တိုင်သုံးနိုင်သည်။
8-bit ပုံများတွင်အထူးသဖြင့်ပုံရိပ်အရောင်နံပါတ်နှင့်ဖြန့်ဖြူးမှုကိုသင်ထိန်းချုပ်ရန်လိုအပ်သည့်အခါအလွန်အရေးကြီးသည်။
8-bit ပုံရိပ်တွေကိုထုတ်လုပ်တဲ့အခါအရောင်ချို့တဲ့မှုကိုသင်မကြာခဏကြုံတွေ့ရပါက ImageCreatetRuecolor () ကို မထုတ်လုပ်မီဖုန်းခေါ်ဆိုခြင်း () ကိုမထုတ်လုပ်မီ calling image ကိုပြောင်းရန်စဉ်းစားနိုင်သည်။ PHP သည်အလိုအလျောက်အရောင်ကိုအကောင်းဆုံးဖြစ်စေလိမ့်မည်။
နမူနာကုဒ်ကိုးကားချက်: