PHP တွင်ရုပ်ပုံများကိုလုပ်ဆောင်သောအခါတစ်ခါတစ်ရံတွင်တိကျသော areas ရိယာများကိုပြုပြင်ခြင်း, နောက်ခံများကိုအစားထိုးခြင်း, ဤအခြေအနေတွင် isagecolorresolveoll () နှင့် Imagesetpixel () သည်အလွန်လက်တွေ့ကျတဲ့အတွဲများဖြစ်သည်။
ISACECOSOLORESOLVELESOLVES () function ၏ function သည်ရှိပြီးသားပုံသဏ် into ာရေးအရင်းအမြစ်တွင်သတ်မှတ်ထားသောအရောင် (RGB) နှင့်အနီးဆုံးဖြစ်သောအရောင်အသွေးကိုရှာဖွေရန်ဖြစ်သည်။ အကယ်. ၎င်းကိုမတွေ့နိုင်ပါက၎င်းသည်အရောင်အသစ်တစ်ခုကိုသတ်မှတ်ရန်ကြိုးစားလိမ့်မည်။ ဤအရာသည် ISESECOLORALORALANALALALANEARALALALALALALALALANEALEALEALEALEATEATE () တစ်ခုတည်းကိုသာအသုံးပြုခြင်းထက် ပို. ပြောင်းလွယ်ပြင်လွယ်သည်။
function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
int imagecolorresolve ( GdImage $image , int $red , int $green , int $blue )
$ Image : Image image အရင်းအမြစ်
$ အနီရောင် , $ အစိမ်းရောင် , $ အပြာ : ရှာဖွေရန်သို့မဟုတ်ဖန်တီးရန်အရောင်ပါဝင်ပစ္စည်းများ
Imagesetpixel () ကို pixel တစ်ခု၏အရောင်, function ရှေ့ပြေးပုံစံကိုသတ်မှတ်ရန်အသုံးပြုသည်။
bool imagesetpixel ( GdImage $image , int $x , int $y , int $color )
$ Image : Image image အရင်းအမြစ်
$ x , $ y : pixel ကိုသွဒီနိတ်များသတ်မှတ်ထားရန်
$ အရောင် : အရောင်အညွှန်းကိန်း ( isologecolorate () , imagecolorresolve () စသည်)
ငါတို့မှာပုံရိပ်တစ်ခုရှိတယ်ဆိုပါစို့။ ပုံရိပ်ထဲမှာ account (50,50,50)) ကိုအပြာရောင်နဲ့ (150,50,50) ) ကိုပြန်ပြောင်းချင်ပါတယ်။
ငါတို့လုပ်နိုင်တယ် -
<?php
// ဓာတ်ပုံများတင်နေသည်
$imagePath = 'https://m66.net/uploads/sample.png';
$image = imagecreatefrompng($imagePath);
if (!$image) {
die('无法ဓာတ်ပုံများတင်နေသည်');
}
// ပစ်မှတ်အရောင်:အပြာရောင်အလင်း (R:173, G:216, B:230)
$newColor = imagecolorresolve($image, 173, 216, 230);
// loop အစားထိုး (50,50) ရောက်လာ (150,150) area ရိယာ၏ pixels
for ($x = 50; $x <= 150; $x++) {
for ($y = 50; $y <= 150; $y++) {
imagesetpixel($image, $x, $y, $newColor);
}
}
// 输出结果ရောက်လာ浏览器
header('Content-Type: image/png');
imagepng($image);
// မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($image);
?>
image permissions : မင်းရဲ့ပုံရိပ်ကိုလက်လှမ်းမီနိုင်အောင်သေချာအောင်လုပ်ပါ ။
အရောင်အရေအတွက်ကန့်သတ်ချက် - Palette ပုံရိပ်များအတွက် PHP ၏ GD စာကြည့်တိုက်သည်အရောင် 256 အထိသာအသုံးပြုနိုင်သည်။ အကယ်. ၎င်းသည် ISEACOSORRESOLELELE () ထက်ကျော်လွန်ပါကရရှိနိုင်သောအနီးဆုံးအရောင်ကိုပြန်ပို့နိုင်သည်။
စွမ်းဆောင်ရည်ပြ issues နာများ - Imagesetpixel ကို အသုံးပြု. ကြီးမားသောအတိုင်းအတာဖြင့်အသုံးပြုခြင်းသည်နှေးကွေးလိမ့်မည်။ အကယ်. သင်သည်ကြီးမားသော area ရိယာ pixels ကိုထိရောက်စွာလုပ်ဆောင်ရန်လိုအပ်ပါက imageflectedanglemangle () ကို တိုက်ရိုက်အသုံးပြုခြင်းသို့မဟုတ်ပုံရိပ်ဒေတာ (ဥပမာ image data) ကိုအသုံးပြုခြင်းကိုစဉ်းစားသင့်သည်။
Format Support : ဥပမာအားဖြင့် PNG ကိုအသုံးပြုသည်။ ဟုတ်ပါတယ်, imagecreatjpeg () , imagecreatjif () , အခြားပုံစံများကိုကိုင်တွယ်ရန်အခြားလုပ်ဆောင်ချက်များကိုလည်းသုံးနိုင်သည်။
Imagecolorresolve နှင့်အတူ () ကျွန်ုပ်တို့သည်အရောင်ကိုက်ညီခြင်းနှင့်ခွဲဝေချထားပေးခြင်းဆိုင်ရာပြ issues နာများကိုပြောင်းလွယ်ပြင်လွယ်ဖြစ်စေသောအရောင် နှင့်ခွဲဝေ ချထားပေးခြင်းကိုလွယ်ကူစွာကိုင်တွယ်နိုင်သည်။ ဤပေါင်းစပ်မှုသည်ပုံရိပ်ပြုပြင်ခြင်း, ဒေသတွင်းပြုပြင်မွမ်းမံမှုနှင့်ပြောင်းလဲနေသောရုပ်ပုံများကဲ့သို့သောမြင်ကွင်းများအတွက်အလွန်သင့်လျော်သည်။