PHP တွင် IgeCopymerge () function သည် image processing ၏အသုံးအများဆုံးနည်းလမ်းဖြစ်သည်။ ၎င်းသည်အစိတ်အပိုင်းတစ်ခုသို့မဟုတ်တစ်ခုအားလုံးကိုအခြားတစ်ခုသို့ပေါင်းစည်းနိုင်သည်။ ဤလုပ်ဆောင်မှု၏အဓိကရည်ရွယ်ချက်မှာရေမျက်နှာပြင်ပေါ်ရှိရုပ်ပုံများပေါ်တွင်အခြားလုပ်ဆောင်မှုများနှင့်အခြားလုပ်ဆောင်မှုများကိုပေါင်းစည်းရန်ဖြစ်သည်။ ဤဆောင်းပါးသည် Imagecopymerge () function () function ကိုအသုံးပြုခြင်းနှင့်ပုံနှစ်ခုကိုပေါင်းစည်းရန်မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။
Imagecopymerge () function ကို၏ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
bool imagecopymerge(resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_width, int $src_height, int $pct)
$ DST_IMAGE : Target Image Resource သည်သင်နောက်ထပ်ပုံရိပ်ကိုထည့်သွင်းလိုသောပုံကိုညွှန်ပြသည်။
$ src_image : အရင်းအမြစ်ပုံသလိုအရင်းအမြစ်များ, သင်ကိုးကားလိုသည့်ပုံကိုဖော်ပြလိုသောပုံကိုညွှန်ပြသည့်ပုံရိပ်အရင်းအမြစ်။
$ DST_X, $ DST_Y : အရင်းအမြစ်ပုံရိပ်ကိုပစ်မှတ်ထားပုံရိပ်တွင်ကပ်ထားသည့်နေရာ (i.e. အပေါ်ထောင့်၏သွဒီနိတ်များ) ။
$ src_x, $ src_y : အရင်းအမြစ်ပုံရိပ်ထဲမှာအစအနေအထား (i.e. ဘယ်ဘက်အပေါ်ထောင့်ရဲ့သွဒီနိတ်) ။
$ src_width, $ src_height : source image ရိယာ၏ in ရိယာ၏အနံနှင့်အမြင့်။
$ PCT - ပေါင်းစည်းပွင့်လင်းမြင်သာမှုရာခိုင်နှုန်း, 0 သည်လုံးဝပွင့်လင်းမြင်သာမှုနှင့် 100 သည်လုံးဝမမြင်နိုင်ပါ။
ဤလုပ်ဆောင်ချက်၏လုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသောအနေအထား ( $ DST_IMAGE) မှအရင်းအမြစ်ပုံ ($ src_image) ကိုကူးယူရန်ဖြစ်သည်။ ကူးယူထားသော area ရိယာသည်အရင်းအမြစ်ပုံရိပ်၏အကျယ်နှင့်အမြင့်ကိုသတ်မှတ်နိုင်သည် ။
နောက်ပြီးပုံနှစ်ပုံ အလိုက် () ပုံ နှစ်ပုံကိုလက်တွေ့ကျပုံဥပမာသုံးပြီးဘယ်လိုပေါင်းစည်းရမယ်ဆိုတာပြသတယ်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်ပုံနှစ်ပုံကိုတင်ရန်လိုအပ်သည်။ PHP သည် imagecreatjpeg () , imagecreatjpeg (), imagecreatjpeg () စသည်တို့ကဲ့သို့သောပုံရိပ်များကိုမတူညီသောပုံစံများဖြင့် 0 င်ရန်လုပ်ဆောင်မှုများကိုထောက်ပံ့ပေးသည်။ ကျွန်ုပ်တို့တွင်နောက်ခံပုံတစ်ခုနှင့် superimposed ဖြစ်ရန်လိုအပ်သည့်လိုဂိုပုံရိပ်တစ်ခုရှိသည်။
// ပစ်မှတ်ပုံရိပ်ကို load(နောက်ခံပုံ)
$bg_image = imagecreatefromjpeg('background.jpg');
// အရင်းအမြစ်ပုံရိပ်ကို load(logoရုပ်ပုံ)
$logo_image = imagecreatefrompng('logo.png');
ကျွန်ုပ်တို့သည် logo.png ကို နောက်ခံ သို့ပြန်လည်ပေါင်းစည်းလိုသည်ဆိုပါစို့။ ၎င်းကိုအောက်ပါကုဒ်များမှတစ်ဆင့်အကောင်အထည်ဖော်နိုင်သည်။
// Set Merge တည်နေရာ(目标ရုပ်ပုံ像的左上角位置)
$dst_x = 50;
$dst_y = 50;
$src_x = 0;
$src_y = 0;
$src_width = imagesx($logo_image);
$src_height = imagesy($logo_image);
// မှပွင့်လင်းမြင်သာ50%
$pct = 50;
// 合并ရုပ်ပုံ像
imagecopymerge($bg_image, $logo_image, $dst_x, $dst_y, $src_x, $src_y, $src_width, $src_height, $pct);
ပေါင်းစည်းမှုလုပ်ငန်းပြီးဆုံးပြီးနောက်ရလဒ်ပုံရိပ်ကိုဖွင့်ရန်လိုအပ်သည်။ imagejpeg () (သို့မဟုတ်အခြားသင့်လျော်သော function ပေါ် မူတည်. အခြားသင့်လျော်သော function) (သို့မဟုတ်အခြားသင့်လျော်သော function ပေါ် မူတည်. ) ကိုသုံးနိုင်သည်။
// 输出合成后的ရုပ်ပုံ像到浏览器
header('Content-Type: image/jpeg');
imagejpeg($bg_image);
// အရင်းအမြစ်များကိုအခမဲ့
imagedestroy($bg_image);
imagedestroy($logo_image);
တနည်းအားဖြင့်သင်သည်ပုံကိုဖိုင်တစ်ခုသို့သိမ်းနိုင်သည်။
// 保存合成后的ရုပ်ပုံ像到文件
imagejpeg($bg_image, 'result.jpg');
Transparency Settings : imagecopymerge () Transparency ( $ PCT Parameter သည်) ကိုသတ်မှတ်ခြင်းကိုပံ့ပိုးသည်။ သို့သော်ပွင့်လင်းမြင်သာမှုသည် PNG နှင့် GIF ပုံစံများအတွက်သာတရားဝင်သည်။ JPEG Image ကိုသင်ပေါင်းစည်းပါက JPEG ကိုယ်တိုင်ကပွင့်လင်းမြင်သာသောလမ်းကြောင်းများကိုမထောက်ပံ့သောကြောင့်ပွင့်လင်းမြင်သာမှုအကျိုးသက်ရောက်မှုသည်သိသာထင်ရှားလိမ့်မည်မဟုတ်ပါ။
Resource (Resource ဖျက်ဆီးခြင်း - ပုံရိပ်ကိုပြုပြင်ပြီးတဲ့နောက်မှတ်ဉာဏ်ယိုစိမ့်မှုကိုကာကွယ်ဖို့ပုံရိပ်အရင်းအမြစ်တွေကိုလွှတ်ပေးဖို့ Imagedestroy () ကို သုံးဖို့သတိရပါ။
Image size : source image ၏အရွယ်အစားကိုပစ်မှတ်ထားပုံရိပ်၏အရွယ်အစားအရကျိုးကြောင်းဆီလျော်စွာနေရာချသင့်သည်။ Image ၏အရောင်နှင့်အမြင့်ကိုသုံးရန်လိုအပ်သည့်နေရာ၏အနေအထားနှင့်အရွယ်အစားကိုချိန်ညှိရန်ပုံရိပ်နှင့်အမြင့်ကိုသုံးရန် Imagesx () နှင့် Imagesy () ကို သုံးနိုင်သည်။
အထက်ပါအဆင့်များမှတစ်ဆင့်သင်သည် image syntheises image synthelise () function ကိုသုံးနိုင်သည်။ တည်ဆောက်ခြင်းအနေအထားကိုတည်ဆောက်ခြင်းဖြင့်ပွင့်လင်းမြင်သာမှုနှင့်အရွယ်အစားကိုသတ်မှတ်ခြင်းဖြင့်ကွဲပြားခြားနားသောပုံရိပ်ပေါင်းစပ်လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည်။