PHP တွင် GD စာကြည့်တိုက်မှပေးသောလုပ်ဆောင်မှုမျိုးစုံမှတစ်ဆင့် Image processing လုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်နိုင်သည်။ ImagecreathrintGD2 () သည် GD စာကြည့်တိုက်ရှိ function တစ်ခု .gd2 format ဖြင့်တင်ရန်။ ဒီဆောင်းပါးမှာပုံတစ်ပုံအတွက်ရေစာပြေတဲ့သူတွေကိုထည့်သွင်းဖို့ ISASECREATGD2 () function ကိုဘယ်လိုသုံးရမလဲဆိုတာမိတ်ဆက်ပေးမယ်။ PHP ၏ GD function ကိုမည်သို့အသုံးပြုရမည်ကိုလည်းပုံဖော်နိုင်ရန်နှင့်ရိုးရိုးရေစာမိတ်သက်ရောက်စေရန်မည်သို့အသုံးပြုရမည်ကိုလည်းပြသပါမည်။
သင်စတင်မီ, သင်၏ PHP ပတ်ဝန်းကျင် GD စာကြည့်တိုက်ကိုသေချာအောင်လုပ်ပါ။ အကယ်. သင်သည် Linux ကိုအသုံးပြုနေပါက၎င်းကိုအောက်ပါ command မှတဆင့် install လုပ်နိုင်သည်။
sudo apt-get install php-gd
တပ်ဆင်မှုပြီးဆုံးပါကသင်၏ PHP server ကိုသာပြန်လည်စတင်ပါ။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်မူရင်း .gd2 image file ကို load လုပ်ရန် ISESECREATGD2 () function ကိုအသုံးပြုရန်လိုအပ်သည်။ ဒီ function ကနောက်တစ်ခုမှာလည်ပတ်နိုင်တဲ့ပုံရိပ်အရင်းအမြစ်ကိုပြန်ပို့တယ်။
<?php
// မူရင်းပုံကိုတင်ပါ
$original_image = imagecreatefromgd2('original_image.gd2');
// ပုံသည်အောင်မြင်စွာတင်နေသည်ကိုစစ်ဆေးပါ
if (!$original_image) {
die("Image Loading မအောင်မြင်ပါ!");
}
?>
ထို့နောက်ကျွန်ုပ်တို့သည်ပုံတစ်ပုံကိုရေစာအဖြစ်တင်သည်။ ၎င်းသည် PNG, JPEG စသည်ဖြင့်မည်သည့်ပုံစံဖြင့်မဆိုပုံတစ်ပုံရှိနိုင်သည်ဆိုပါစို့။
<?php
// Watermark Image ကိုတင်ခြင်း
$watermark = imagecreatefrompng('watermark.png');
// ရေစာရိတ္တသည်အောင်မြင်စွာတင်ဆောင်လာခြင်းရှိမရှိစစ်ဆေးပါ
if (!$watermark) {
die("ရေစာပြခြင်းမအောင်မြင်ပါ!");
}
?>
ရေစာကိုသိပ်မဖြစ်ခြင်းမှကာကွယ်ရန်ကျွန်ုပ်တို့သည်ရေစာ၏ပွင့်လင်းမြင်သာမှုကိုပြသနိုင်ရန်အတွက်ကျွန်ုပ်တို့သည်ရေစာ၏ပွင့်လင်းမြင်သာမှုကိုဖြေရှင်းနိုင်သည်။ ပွင့်လင်းမြင်သာမှုနှင့်အရောင်ဖန်တီးရန်သင်သည် isagecolorallocealealpha () ကိုသုံးနိုင်သည်။ GD စာကြည့်တိုက်များတွင် Image processing သည်ပွင့်လင်းမြင်သာမှုကိုထိန်းချုပ်ရန်အရောင်၏ပွင့်လင်းမြင်သာမှုတန်ဖိုးကိုအသုံးပြုသည်။
<?php
// ပွင့်လင်းမြင်သာမှု
imagealphablending($watermark, true);
imagesavealpha($watermark, true);
?>
ရေစာအောက်ကိုမူရင်းပုံသို့စနစ်တကျထည့်ရန်ကျွန်ုပ်တို့သည်ရေစာပုံ၏တည်နေရာကိုတွက်ချက်ရန်လိုအပ်သည်။ ယေဘုယျအားဖြင့်ပြောရလျှင်ကျွန်ုပ်တို့သည်စာများကိုပုံရိပ်၏ညာဘက်အောက်ထောင့်တွင်နေရာချနိုင်သည်, သို့သော်သင်၏လိုအပ်ချက်များနှင့်အညီလိုက်နာနိုင်သည်။
<?php
// မူရင်းပုံရိပ်နှင့်ရေစာပုံရိပ်၏အရွယ်အစားကိုရယူပါ
$original_width = imagesx($original_image);
$original_height = imagesy($original_image);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
// အဆိုပါရေစာဆင်း၏နေရာချထားဘို့သွဒီနိတ်တွက်ချက်မှု(ညာဘက်အောက်ထောင့်)
$x = $original_width - $watermark_width - 10;
$y = $original_height - $watermark_height - 10;
?>
စိတ်ကူးယဉ်ပုံသဏ္ဌာန် () function ကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ရေစာပုံရိပ်ကိုမူရင်းပုံသို့ synthesize လုပ်နိုင်သည်။ function ကိုစိတ်ကူးယဉ် () သည် source image ကိုသတ်မှတ်ထားသောပုံရိပ်၏သတ်မှတ်ထားသောနေရာသို့ကူးယူနိုင်သည်။
<?php
// ရေကြောင်းကိုမူလပုံသို့ synthesize
imagecopy($original_image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height);
?>
နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်ပေါင်းစပ်ပုံရိပ်ကိုထုတ်လုပ်ရန်လိုအပ်သည်။ သင်သည် image output ကို format ကိုရွေးချယ်နိုင်သည် (ဥပမာ PNG သို့မဟုတ် JPEG) ကဲ့သို့သောမည်သည့်ပုံစံကိုမဆိုရွေးချယ်နိုင်သည်။ အောက်ဖော်ပြပါသည် PNG format ဖြင့်ကုဒ် output ကိုဖြစ်သည်။
<?php
// နောက်ဆုံးပုံရိပ် output ကို
header('Content-Type: image/png');
imagepng($original_image);
// ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီး,မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($original_image);
imagedestroy($watermark);
?>
<?php
// မူရင်းပုံကိုတင်ပါ
$original_image = imagecreatefromgd2('original_image.gd2');
if (!$original_image) {
die("Image Loading မအောင်မြင်ပါ!");
}
// Watermark Image ကိုတင်ခြင်း
$watermark = imagecreatefrompng('watermark.png');
if (!$watermark) {
die("ရေစာပြခြင်းမအောင်မြင်ပါ!");
}
// ပွင့်လင်းမြင်သာမှု
imagealphablending($watermark, true);
imagesavealpha($watermark, true);
// မူရင်းပုံရိပ်နှင့်ရေစာပုံရိပ်၏အရွယ်အစားကိုရယူပါ
$original_width = imagesx($original_image);
$original_height = imagesy($original_image);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
// အဆိုပါရေစာဆင်း၏နေရာချထားဘို့သွဒီနိတ်တွက်ချက်မှု(ညာဘက်အောက်ထောင့်)
$x = $original_width - $watermark_width - 10;
$y = $original_height - $watermark_height - 10;
// ရေကြောင်းကိုမူလပုံသို့ synthesize
imagecopy($original_image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height);
// နောက်ဆုံးပုံရိပ် output ကို
header('Content-Type: image/png');
imagepng($original_image);
// ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီး,မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($original_image);
imagedestroy($watermark);
?>
ISEACREATGDGD2 () function ကို အသုံးပြု. Images ၏ပုံရိပ်များကို .gd2 format ဖြင့်အလွယ်တကူတင်ပြီး PHP ၏ GD စာကြည့်တိုက်ကိုပုံများသို့ထည့်ရန် PHP ၏ GD စာကြည့်တိုက်ကိုသုံးနိုင်သည်။ သင်၏လိုအပ်ချက်များနှင့်အညီ transparency, position နှင့် image output format များကိုသင်လိုအပ်ချက်များနှင့်အညီချိန်ညှိနိုင်သည်။ သင်သည်အခြားပုံစံများရှိပုံများနှင့်အတူအလုပ်လုပ်ရန်လိုအပ်ပါကသက်ဆိုင်ရာပုံရိပ်တင်ခြင်း function ကိုအစားထိုးပါ (ဥပမာ agreecreatfressmj () သို့မဟုတ် imagecreathefrophgjpeg () ) ကိုအစားထိုးလိုက်ပါ။
ဤနည်းအားဖြင့်သင်၏ပုံရိပ်မူပိုင်ခွင့်ကိုကာကွယ်ရန်သို့မဟုတ်ကိုယ်ပိုင်ဒြပ်စင်များကိုအကာအကွယ်ပေးရန်သင်၏ပုံရိပ်၏အချက်၏ပုံစံကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။