ပုံရိပ်ထုတ်မှုနယ်ပယ်တွင်ရုပ်ပုံများကိုပေါင်းစည်းခြင်းဖြင့်ရုပ်တုပေါင်းများစွာကိုပေါင်းစည်းခြင်းအားရရှိခြင်းသည်အထူးသဖြင့်အီလက်ထရောနစ်ကူးသန်းရောင်းဝယ်ရေး, လူမှုရေးမီဒီယာနှင့်အခြားစက်မှုလုပ်ငန်းများအတွက်သင့်တော်သည်။ PHP မှပေးသော isagecolormatch () function ကိုအနည်းငယ်သာလူသိများသော်လည်း၎င်းသည်ဤရည်မှန်းချက်ကိုအောင်မြင်ရန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်အရောင် ကိုက်ညီမှု ကိုထိရောက်စွာလုပ်ဆောင်ရန်နှင့်ပြည့်စုံသောဥပမာဖြေရှင်းချက်ကိုထိရောက်စွာလုပ်ဆောင်ရန်မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
imagecolormatch (အရင်းအမြစ် $ image1, အရင်းအမြစ် $ image2): Bool သည် GD စာကြည့်တိုက်တွင် function တစ်ခုဖြစ်သည်။ ၎င်း၏ function သည် $ Image2 ၏ palette အရောင်နှင့်ကိုက်ညီရန် $ image1 ၏အရောင်နှင့်အတူ။ ဆိုလိုသည်မှာ $ Image2 ၏အရောင်သည် $ image1 ကို ကြည့်ရှုရန်ကြိုးစားရန်ကြိုးစားခြင်းကိုဆိုလိုသည်။
သတိပြုသင့်သည်မှာ isagecolormatch () သည် palette image (I.E. Non-Non-Non-Non -Non Non Images) ) သာပြုလုပ်နိုင်သည် ။ ထို့ကြောင့်ကျွန်ုပ်တို့သည်ပုံကိုမသုံးမီပုံကို palette image သို့ပြောင်းလဲရမည်။
ပစ်မှတ်ထားသောပုံရိပ်များအတွက်အရောင်ကိုးကားထားသောအရောင်ကိုးကားချက်ကိုပြင်ဆင်ပါ။
ဆိုင်းငံ့ထားသောပုံတစ်ပုံစီကိုဖတ်ပြီး၎င်းကို palette image သို့ပြောင်းပါ။
အရောင်ကိုက်ညီမှုအတွက် isagecolormatch () ကိုသုံးပါ။
ရလဒ်ကိုပုံရိပ်ဖိုင်အသစ်တစ်ခုအဖြစ်သိမ်းဆည်းပါ။
အောက်ဖော်ပြပါသည်ပုံရိပ်များစွာအတွက်အရောင်နှင့်ကိုက်ညီသောအပြောင်းအလဲများကိုအကောင်အထည်ဖော်သည့်ဥပမာပြည့်စုံသော script တစ်ခုဖြစ်သည်။ ပုံလမ်းညွှန်ဖွဲ့စည်းပုံမှာအောက်ပါအတိုင်းဖြစ်သည် -
/images/
reference.jpg
img1.jpg
img2.jpg
...
/output/
(ပြုပြင်ထားသောရုပ်ပုံများကိုသိမ်းဆည်းရန်အသုံးပြုခဲ့သည်)
<?php
$referencePath = 'images/reference.jpg';
$sourceDir = 'images/';
$outputDir = 'output/';
// ရည်ညွှန်းပုံကို load လုပ်ပြီး၎င်းကို palette image သို့ပြောင်းပါ
$refImgTrueColor = imagecreatefromjpeg($referencePath);
$refImgPalette = imagecreate(imagesx($refImgTrueColor), imagesy($refImgTrueColor));
imagecopy($refImgPalette, $refImgTrueColor, 0, 0, 0, 0, imagesx($refImgTrueColor), imagesy($refImgTrueColor));
imagetruecolortopalette($refImgPalette, true, 256);
// အားလုံး directory မှတဆင့်ကြားမှာ jpg စာချုပ်စာတမ်း
$files = glob($sourceDir . '*.jpg');
foreach ($files as $file) {
if ($file === $referencePath) continue; // ရည်ညွှန်းပုံကိုကျော်လိုက်ပါ
$srcTrueColor = imagecreatefromjpeg($file);
// palette image တစ်ခုဖန်တီးပါ
$srcPalette = imagecreate(imagesx($srcTrueColor), imagesy($srcTrueColor));
imagecopy($srcPalette, $srcTrueColor, 0, 0, 0, 0, imagesx($srcTrueColor), imagesy($srcTrueColor));
imagetruecolortopalette($srcPalette, true, 256);
// အရောင်ကိုက်ညီလျှောက်ထားပါ
imagecolormatch($refImgPalette, $srcPalette);
// 保存输出စာချုပ်စာတမ်း
$filename = basename($file);
imagejpeg($srcPalette, $outputDir . $filename);
// မှတ်ဉာဏ်သန့်ရှင်းရေး
imagedestroy($srcTrueColor);
imagedestroy($srcPalette);
}
imagedestroy($refImgTrueColor);
imagedestroy($refImgPalette);
echo "အပြောင်းအလဲနဲ့ပြီးစီးခဲ့သည်,စာချုပ်စာတမ်း已保存到 $outputDir";
?>
palette image သို့ကူးပြောင်းခြင်းသည်အဓိကခြေလှမ်းတစ်ခုဖြစ်သည် ။
output image သည်အရောင်အသွေးစုံစုံရှိအရောင်များကိုအကန့်အသတ်ရှိသောကြောင့် (အများဆုံး 256) သည်အကန့်အသတ်ရှိသည်။
ပုံများစွာကိုသင်လုပ်ဆောင်ရန်လိုအပ်ပါက script ကို execution လုပ်ရန် command line ကိုအသုံးပြုရန်အကြံပြုသည်။
အစီအစဉ်ကို command line tool တစ်ခုအနေဖြင့်သင်ခန်းစာယူနိုင်သည်။ ဥပမာအားဖြင့် Laravel ၏ Artisan Command System စနစ်ကိုပေါင်းစပ်ခြင်းအားဖြင့်အောက်ပါခေါ်ဆိုမှုနည်းလမ်းကိုအကောင်အထည်ဖော်နိုင်သည်။
php artisan image:match-colors --reference=reference.jpg --input=images/ --output=output/
ပုံရိပ်အရောင်စံချိန်စံညွှန်းကိုစံချိန်စံညွှန်းတွင်ပိုမိုစည်းလုံးညီညွတ်မှုနှင့်ပရော်ဖက်ရှင်နယ်အမြင်အာရုံသက်ရောက်မှုများကို e-commerce platforms များသို့မဟုတ်ဓာတ်ပုံ 0 န်ဆောင်မှုပေးရာတွင်ပြသခြင်းရှိမရှိရရှိနိုင်ပါသည်။
အကျိုးသက်ရောက်မှု၏သရုပ်ပြတစ်ခုကိုသင်မြင်လိုပါကအောက်ပါဥပမာကိုကြည့်ပြီးသင်၏ကိုယ်ပိုင်ကိုးကားစရာပုံရိပ်နှင့်စမ်းသပ်ခြင်းအတွက်ပစ်မှတ်ပုံရိပ်ကိုတင်နိုင်သည်။
https://m66.net/demo/image-match
ပုံသဏ္ဌာန် () imagecolormatch () ကို အသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပုံရိပ်အရည်အသွေး၏ရှေ့နောက်ညီညွတ်မှုကိုတိုးတက်အောင်မလုပ်နိုင်ပါ, ဤဆောင်းပါးသည်သင့်အားလျင်မြန်စွာစတင်ရန်နှင့်သင်၏ကိုယ်ပိုင်ပုံရိပ်အရောင်ထုတ်လုပ်ရန်ကိရိယာကိုတည်ဆောက်ရန်ကူညီပေးပါ။