PHP တွင် Filter Effects များကို dynamic images သို့ထည့်ခြင်းသည်ဘုံပုံရိပ်ပြုပြင်ခြင်းလုပ်ငန်းဖြစ်သည်။ ဤအကျိုးသက်ရောက်မှုများကိုကွက်ကွက်ကွင်း ကွင်းကွက် ကွက်ကွင်းကွင်းကွက်ကွက်ကွင်းကွင်းရှင်းလင်းရန် PHP သည်ပုံရိပ်ထုတ်ယူခြင်းလုပ်ငန်းများကိုထောက်ပံ့ရန်အတွက်ပုံသဏ္ဌာန်အပြောင်းအလဲများကိုထောက်ပံ့သည်။ ဒီဆောင်းပါးမှာ discecoecolorresolvve function ကိုဘယ်လိုသုံးရမလဲဆိုတာတက်ကြွတဲ့ပုံရိပ်တွေကိုထည့်သွင်းဖို့ဘယ်လိုသုံးရမလဲဆိုတာမိတ်ဆက်ပေးလိမ့်မယ်။
Imagecolorresolve သည် PHP ရှိ Imp Php တွင်ရေးဆွဲခြင်းလုပ်ငန်းတစ်ခုဖြစ်သည်။ ၎င်းသည်ပုံရိပ်၏အရောင်အညွှန်းကိန်းဇယားပေါ်ရှိအရောင်များကိုခွဲခြမ်းစိတ်ဖြာရန်အသုံးပြုသည်။ ၎င်းသည်သတ်မှတ်ထားသော Image အရင်းအမြစ်အပေါ် အခြေခံ. သတ်မှတ်ထားသောအညွှန်းကိန်း၏အရောင်ကိုထုတ်လွှင့်ပြီးထိုအရောင်၏ RGB တန်ဖိုးကိုပြန်ပို့နိုင်သည်။ ဤလုပ်ဆောင်မှုသည်အထူးသဖြင့်တက်ကြွလှုပ်ရှားသောပုံရိပ်ပြုပြင်ခြင်းများတွင် Filter Effects များကိုအကောင်အထည်ဖော်ရန်အလွန်အရေးကြီးသည်။ စစ်ထုတ်စက်များသည်ပုံရိပ်ရှိအရောင်များကိုပြောင်းလဲရန်လိုအပ်သည် ။
int imagecolorresolve ( resource $image , int $index , int &$red , int &$green , int &$blue )
$ Image : Image image အရင်းအမြစ်။
$ အညွှန်းကိန်း - အညွှန်းကိန်း၏အရေအတွက်။
$ အနီရောင် , $ အစိမ်းရောင် , $ အပြာ - RGB အရောင်တန်ဖိုးများကိုသိုလှောင်ရန်အသုံးပြုသော variable များ။
Dynamic Images သို့ filter sfter များထည့်သွင်းရန်သော့ချက်သည်ပုံရိပ်ရှိအရောင်များကိုကိုင်တွယ်ရန်ဖြစ်သည်။ ၎င်းသည်အရောင်အညွှန်းကိန်းကိုပုံတွင်ပထမဆုံးရယူရန်နှင့်အရောင်၏ RGB တန်ဖိုးအရအညီညှိရန်လိုအပ်သည်။ အဆိုပါ isagecolorresolve function ကိုဤလုပ်ငန်းစဉ်အတွက်အလွန်အထောက်အကူဖြစ်ပါတယ်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် dynamic image တစ်ခုတင်ရန်နှင့်ပုံရိပ်အမျိုးအစားသည် GIF (သို့) PNG ကဲ့သို့သောထောက်ခံသည့်ပြောင်းလဲနေသောပုံရိပ်ပုံစံဖြစ်သည်။
$imagePath = 'path/to/your/image.gif';
$image = imagecreatefromgif($imagePath); // Image format အရသက်ဆိုင်ရာ function ကိုရွေးချယ်ပါ
if (!$image) {
die('ပုံရိပ်ကို တင်. မရပါ');
}
ပုံထဲရှိအရောင်၏အညွှန်းကိန်းရယူခြင်းသည် filter စစ်ဆင်ရေး၏ပထမခြေလှမ်းဖြစ်သည်။ ပုံရိပ်ထဲမှာတိကျတဲ့အရောင်ကိုချိန်ညှိချင်တယ်ဆိုပါစို့။
$width = imagesx($image); // image width ကိုရယူပါ
$height = imagesy($image); // image အမြင့်ကိုရယူပါ
// ပုံတွင် pixel တစ်ခုစီအတွက်အရောင်အညွှန်းကိုရယူပါ
for ($y = 0; $y < $height; $y++) {
for ($x = 0; $x < $width; $x++) {
$index = imagecolorat($image, $x, $y);
imagecolorresolve($image, $index, $r, $g, $b);
// ဒီမှာ$r, $g, $bအရောင်ပြောင်းလဲရန်ပြုပြင်မွမ်းမံမှုများပြုလုပ်ပါ,ဥပမာအားဖြင့်,
}
}
Pixel တစ်ခုစီ၏ RGB တန်ဖိုးကိုတန်းတူတန်ဖိုးတစ်ခုသို့တန်းတူတန်ဖိုးကိုချိန်ညှိနိုင်သည်ဆိုပါစို့။
for ($y = 0; $y < $height; $y++) {
for ($x = 0; $x < $width; $x++) {
$index = imagecolorat($image, $x, $y);
imagecolorresolve($image, $index, $r, $g, $b);
// Grayscale တွက်ချက်
$gray = (int)(($r + $g + $b) / 3);
// Grayscale တန်ဖိုးကိုသတ်မှတ်ပါRGB
$r = $g = $b = $gray;
// ပုံတွင် pixel အရောင်များကို update လုပ်ပါ
$newIndex = imagecolorallocate($image, $r, $g, $b);
imagesetpixel($image, $x, $y, $newIndex);
}
}
နောက်ဆုံးတွင်ပြုပြင်ထားသောရုပ်ပုံကို browser မှ output လုပ်ပါသို့မဟုတ်ဖိုင်တစ်ခုသို့သိမ်းဆည်းပါ။
header('Content-Type: image/gif'); // output ကို image အမျိုးအစားအရသိရသည်MIMEပုံနှိပ်စာ
imagegif($image); // ထုတ်လုပ်ခြင်းGIFအရုပ်
// သို့မဟုတ်ဖိုင်ကိုသိမ်းဆည်းပါ
// imagegif($image, 'path/to/save/image.gif');
GIF Dynamic Images သို့ GreyScale filter ကိုအသုံးပြုရန်အတွက် PHP ၏နမူနာကုဒ်ဖြစ်သည်။
$imagePath = 'path/to/your/image.gif';
$image = imagecreatefromgif($imagePath);
if (!$image) {
die('ပုံရိပ်ကို တင်. မရပါ');
}
$width = imagesx($image);
$height = imagesy($image);
for ($y = 0; $y < $height; $y++) {
for ($x = 0; $x < $width; $x++) {
$index = imagecolorat($image, $x, $y);
imagecolorresolve($image, $index, $r, $g, $b);
// Grayscale တွက်ချက်
$gray = (int)(($r + $g + $b) / 3);
// Grayscale တန်ဖိုးကိုသတ်မှတ်ပါRGB
$r = $g = $b = $gray;
// ပုံတွင် pixel အရောင်များကို update လုပ်ပါ
$newIndex = imagecolorallocate($image, $r, $g, $b);
imagesetpixel($image, $x, $y, $newIndex);
}
}
header('Content-Type: image/gif');
imagegif($image);
ISACECOLORRESOLVED function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပုံ၏အရောင်အချက်အလက်များကိုတိကျစွာရယူပြီးဤအချက်အလက်အပေါ် အခြေခံ. ပုံရိပ်ရှိအရောင်များကိုချိန်ညှိနိုင်သည်။ Dynamic Images (ဥပမာ GIFS ကဲ့သို့သောရုပ်ပုံများ) ၏ filters သက်ရောက်မှုများကို Pixel မှ Pixel မှ Pixel မှ Pixel အားဖြင့်ပိုမိုမြင့်မားသောစိတ်ကြိုက်ပြုပြင်မှုများရရှိရန်အတွက် pixel ဖြင့်ပြုလုပ်နိုင်သည်။ လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်သင်လိုအပ်ချက်များနှင့်ကွဲပြားခြားနားစွာကွဲပြားခြားနားစွာလုပ်ဆောင်နိုင်ပြီးကွဲပြားခြားနားသောအမြင်အာရုံသက်ရောက်မှုအမျိုးမျိုးကိုရရှိနိုင်ပါသည်။