PHP တွင်ကျွန်ုပ်တို့သည်ပုံရိပ်ထုတ်ခြင်းစာကြည့်တိုက် GD ကို အသုံးပြု. ရုပ်ပုံတည်းဖြတ်ခြင်း, သီးနှံများကိုထည့်ခြင်း, ယနေ့ကျွန်ုပ်တို့သည်ပုံသေဖျင်းသောဖုံးကွယ်ထားသောသက်ရောက်မှုများသို့ပွင့်လင်းမြင်သာသောဖုံးကွယ်ထားသောသက်ရောက်မှုများထည့်သွင်းရန် ပုံစာရုံ () နှင့် imagefletededfangleangle () လုပ်ဆောင်မှုများကိုမည်သို့အသုံးပြုရမည်ကိုယနေ့ကျွန်ုပ်တို့လေ့လာပါမည်။
imagecolorallocatealpha () သည်အရောင်များကို သတ်မှတ်. ပွင့်လင်းမြင်သာမှုကိုထောက်ပံ့ရန်အသုံးပြုသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်ရုပ်ပုံများကိုထုတ်လုပ်သည့်အခါပွင့်လင်းမြင်သာမှု (alpha channel channel) ဖြင့်အရောင်များကိုဖန်တီးပေးသည်။
function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
int imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha);
$ Image : များသောအားဖြင့် imageecreate () သို့မဟုတ် imagecreatcher မှတဆင့်ဖန်တီးလေ့ရှိသည်။
$ အနီရောင် - အနီရောင်အစိတ်အပိုင်း, တန်ဖိုးအကွာအဝေး 0-255 ။
$ အစိမ်းရောင် - အစိမ်းရောင်အစိတ်အပိုင်း, တန်ဖိုးအကွာအဝေး 0-255 ။
$ အပြာရောင် - အပြာရောင်အစိတ်အပိုင်း, တန်ဖိုးအကွာအဝေး 0-255 ။
$ alpha : Transparency, 0-127 ၏တန်ဖိုး 0-127 နှင့်အတူ 0-127 နှင့်အတူ 0-127 ၏တန်ဖိုးနှင့် 127 ကိုကိုယ်စားပြုသော။
Idefefelemangleangle () သည်နောက်ခံအရောင်များသို့မဟုတ်ရုပ်ပုံ၏အစိတ်အပိုင်းတစ်ခုထည့်ရန်အသုံးပြုသောဖြည့်ထားသောစတုဂံကိုဆွဲရန်အသုံးပြုသည်။
function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
bool imagefilledrectangle(resource $image, int $x1, int $y1, int $x2, int $y2, int $color);
$ Image : Image image အရင်းအမြစ်။
$ X1, $ y1 : စတုဂံ၏စတုဂံ၏အစအမှတ်ညှိနှိုင်းမှု။
$ x2, $ y2 : စတုဂံ၏အဆုံးမှတ်ကိုသွဒီနိတ်။
$ အရောင် - များသောအားဖြင့် isolorecolorallocatealpha () function ကိုဖန်တီးသောစတုဂံ၏အရောင်အရောင်။
ပုံရိပ်အပေါ်ပွင့်လင်းမြင်သာသောမျက်နှာဖုံးသက်ရောက်မှုကိုရရှိရန်ကျွန်ုပ်တို့သည် isagecolorallocealpha () နှင့် isionfreefedrangledangle () ကိုသုံးပါမည်။ ဤတွင်ပုံရိပ်တစ်ခုသို့ပွင့်လင်းသောစတုဂံမျက်နှာဖုံးကိုမည်သို့ထည့်ရမည်ကိုပြသသည့်နမူနာကုဒ်ဖြစ်သည်။
<?php
// ဓာတ်ပုံများတင်နေသည်
$image = imagecreatefromjpeg('path_to_your_image.jpg');
// ပုံ၏အကျယ်နှင့်အမြင့်ကိုရယူပါ
$width = imagesx($image);
$height = imagesy($image);
// ပွင့်လင်းမီးခိုးရောင်မျက်နှာဖုံးဖန်တီးပါ
$maskColor = imagecolorallocatealpha($image, 0, 0, 0, 75); // 75 ဒါဟာပွင့်လင်းမြင်သာမှုပါပဲ,အဆိုပါပွင့်လင်းပိုမိုမြင့်မား
// မျက်နှာဖုံးစတုဂံဆွဲပါ
imagefilledrectangle($image, 50, 50, $width - 50, $height - 50, $maskColor); // ပုံပေါ်တွင်စတုဂံမျက်နှာဖုံးဆွဲပါ
// output ကိုပုံ
header('Content-Type: image/png');
imagepng($image);
// ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီး
imagedestroy($image);
?>
ဓါတ်ပုံများတင်ခြင်း:
ပုံများကို JPEG format ဖြင့်ဖွင့်ရန် imagecreat trophergjpeg () function ကိုသုံးပါ။ အမှန်တကယ်လိုအပ်ချက်များအရ ISESECREATEFROFRHERARETRETRETRETHTGIF () ကဲ့သို့သောအခြားလုပ်ဆောင်ချက်များကိုသင်ရွေးချယ်နိုင်သည်။
ပုံအကျယ်နှင့်အမြင့်ကိုရယူပါ။
မျက်နှာဖုံး၏အရွယ်အစားကိုဆုံးဖြတ်ရန်အလွန်အရေးကြီးသော Imagesx () နှင့် Images () မှတဆင့်ပုံ၏အကျယ်နှင့်အမြင့်ကိုရယူပါ။
ပွင့်လင်းအရောင်များကိုဖန်တီးပါ။
အဆိုပါ Imagecoloralletocatealealpha () function ကိုပွင့်လင်းမြင်သာမှုနှင့်အရောင်များဖန်တီးရန်အသုံးပြုသည်။ ဤဥပမာသည် RGB တန်ဖိုး (0, 0, 0) ကို အသုံးပြု. အနက်ရောင်ထုတ်လုပ်ရန် (0, 0, 0) ကိုအသုံးပြုသည်။
မျက်နှာဖုံးကိုဆွဲပါ
ပုံပေါ်ရှိ image form accountange (50) နှင့် အဆုံး - 50, အမြင့် ညှိနှိုင်းမှုများကိုဖြည့်စွက်ရန် Idefeledflemanglemangle () function ကိုသုံးပါ။
output ကိုပုံ:
ImagePng () ကို သုံး. ပုံရိပ်ကို output လုပ်ရန်နှင့်မှန်ကန်သောအကြောင်းအရာအမျိုးအစား header ကို set up လုပ်ရန် browser ကိုမှန်ကန်စွာအသိအမှတ်ပြုပြီးပြသရန်သေချာစေရန်မှန်ကန်သောအကြောင်းအရာအမျိုးအစားခေါင်းစဉ်ကိုသတ်မှတ်ပါ။
ပုံရိပ်အရင်းအမြစ်များကိုဖျက်စီးပါ။
ImageSestroy () ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီးရန်နှင့်မှတ်ဥာဏ်ကိုလွှတ်ရန်။
Imagecolorallocatealpha () နှင့် isionfreefeledanglemangle () ပေါင်းစပ်ခြင်းနှင့်အတူ PHP ရှိပုံရိပ်များ၏ပွင့်လင်းမြင်သာမှုဆိုင်ရာဆိုးကျိုးသက်ရောက်မှုများကိုအလွယ်တကူရရှိနိုင်ပါသည်။ ဤနည်းလမ်းသည် (JPEG, PNG, GIF, GIF စသည်) အမျိုးမျိုးသောရုပ်ပုံများ (ဥပမာ JPEG, PNG, GIF စသည့်စသည်တို့) အတွက်သင့်တော်သော်လည်း,
PHP တွင်ပွင့်လင်းမြင်သာသောဖုံးကွယ်ထားခြင်းကိုအကောင်အထည်ဖော်ရန်နှင့်သင်၏ပုံရိပ်ပြုပြင်ခြင်းစွမ်းရည်ကိုတိုးတက်စေရန် GD စာကြည့်တိုက်ကို အသုံးပြု. GD စာကြည့်တိုက်ကို အသုံးပြု. သင်၏ဆောင်းပါးစာကြည့်တိုက်ကိုကျွမ်းကျင်စွာအသုံးပြုခြင်းကိုကျွမ်းကျင်စွာကူညီနိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။