PHP ၏ Impflip function ကိုအသုံးပြုသောအခါ developer များစွာသည် Flipped Image ၏မီးခိုးရောင်နောက်ခံကိုကြုံတွေ့ရလိမ့်မည်။ ပွင့် လင်းမြင်သာသောရုပ်ပုံများကိုပြုပြင်သည့်အခါ၎င်းကို alpha channel ကိုမှန်ကန်စွာကိုင်တွယ်ခြင်းမပြုပါနှင့်၎င်းကိုပုံမှန်အားဖြင့် alpha channel ကိုမှန်ကန်စွာကိုင်တွယ်ခြင်းမဟုတ်ပါ။ ဤဆောင်းပါးသည်အဘယ်ကြောင့်ဤပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်ကိုလေ့လာလိမ့်မည်။
PHP တွင် Implip function ကိုပုံရိပ်များလှန်ရန်အသုံးပြုသည်။ ၎င်းသည်အလျားလိုက်သို့မဟုတ်ဒေါင်လိုက်ပုံကိုလှန်လှောကြည့်နိုင်သည်။ အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
imageflip($image, $mode);
$ Image : flipping လုပ်ရန် image abuse ကိုကိုယ်စားပြုသည် ။
$ Mode : Flip Mode, အောက်ပါတို့မှတစ်ခုဖြစ်နိုင်သည်။
img_flip_horizontal : အလျားလိုက်လှန်လှောကြည့်ပါ။
img_flip_vertical : ဒေါင်လိုက်လှန်လိုက်ပါ။
img_flip_both : အလျားလိုက်နှင့်တစ်ချိန်တည်းတွင်အလျားလိုက်နှင့်ဒေါင်လိုက်လှန်။
Flipping Images အတွက်မူရင်းပုံရိပ်သည်ပွ င့ ်လင်းမြင်သာမှုရှိလျှင် (PNG ရုပ်ပုံများကဲ့သို့သော) တွင်အရောင်အသွေးစုံလင်သောနောက်ခံတစ်ခုပေါ်လာနိုင်သည်။
imageflip ကိုလှန်လိုက်တဲ့အခါ PHP သည် image pixels ကိုကူးယူပြီးပြန်လည်စီစဉ်ပါလိမ့်မည်။ သို့သော်ပုံတွင်ပွင့်လင်းမြင်သာသောဒေသများပါ 0 င်ပါက PHP သည်ပွင့်လင်းမြင်သာသောဒေသများကိုလျစ်လျူရှုထားပြီး,
မီးခိုးရောင်နောက်ခံပြ problems နာများသည်များသောအားဖြင့်အောက်ပါအခြေအနေများတွင်ရှိသည်။
မူရင်းပုံရိပ်တွင်ပွင့်လင်းမြင်သာသောဒေသများရှိသည်။
ပုံရိပ် format သည် Transparency ကိုထောက်ပံ့သည် (PNG ကဲ့သို့) ။
imageflip function ကိုလှန်လှောကြည့်ရင်းပွင့်လင်းမြင်သာသော areas ရိယာများကိုအတိအလင်းလုပ်ဆောင်ခြင်းမရှိပါ။
မီးခိုးရောင်နောက်ခံကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် flipped image ကိုပွင့်လင်းမြင်သာမှုရှိစေရန်သေချာစေရန်လိုအပ်သည်။ Transparent Color ကို isagecolortransparent function ကို အသုံးပြု. မှန်ကန်စွာသတ်မှတ်ထားကြောင်းသေချာစွာသိနိုင်ပါတယ်။
imperflip ကို အသုံးပြုသည့်အခါပွင့်လင်းမြင်သာမှုသတင်းအချက်အလက်များကိုမည်သို့ထိန်းသိမ်းရမည်ကိုပြသည့်ဥပမာတစ်ခုမှာဤတွင်ဖော်ပြထားသည်။
<?php
// ဝန်တင်PNGအရုပ်,确保အရုပ်具有透明度
$image = imagecreatefrompng('input.png');
// 确保အရုပ်支持透明度
imagealphablending($image, false);
imagesavealpha($image, true);
// 翻转အရုပ်(အလျားလိုက်လှန်)
imageflip($image, IMG_FLIP_HORIZONTAL);
// 输出အရုပ်到浏览器或保存到文件
header('Content-Type: image/png');
imagepng($image);
// 释放အရုပ်资源
imagedestroy($image);
?>
imagealphableending ($ Image, False) - ပွင့်လင်းမြင်သာမှုကိုထောက်ပံ့ရန် Blending Mode ကိုပိတ်ပါ။
Imagesavealpha ($ Image, True) - ပွင့်လင်းမြင်သာမှုဆိုင်ရာအချက်အလက်များကိုသိမ်းဆည်းပါ။
ImageFlip ($ Image IMG_Forizontal) : ပုံကိုလှန်လိုက်ပါ။
ဤအဆင့်များမှတဆင့် Flipped PNG ပုံတွင်မီးခိုးရောင်နောက်ခံမရှိပါ,
အခြားပုံရိပ်များအတွက် (JPEG ကဲ့သို့သော JPEG), ပွင့်လင်းမြင်သာမှုသတင်းအချက်အလက်မရနိုင်ပါ။ ထို့ကြောင့်မီးခိုးရောင်နောက်ခံပြ problem နာပေါ်ပေါက်လာသည်မဟုတ်ပါ။ သို့သော်သင်သည် PNG သို့မဟုတ် GIF ပုံများနှင့်ဤပုံများပါ 0 င်နေပါကပွင့်လင်းမြင်သာသောဒေသများပါ 0 င်ပါကပွင့်လင်းမြင်သာမှုကိုရှင်းလင်းစွာကိုင်တွယ်ရန်လိုအပ်သည်။
အကယ်. Image format သည် JPEG ဖြစ်ပြီး JPEG ရုပ်ပုံများသည်ပွင့်လင်းမြင်သာမှုကိုမထောက်ခံသောကြောင့်များသောအားဖြင့်ပွင့်လင်းမြင်သာမှုပြ issue နာမရှိပါ။ JPEG ရုပ်ပုံများကိုသင်လုပ်ဆောင်ရန်လိုအပ်ပါကသူတို့ကိုလှန်လိုက်ပါ။
<?php
$image = imagecreatefromjpeg('input.jpg');
imageflip($image, IMG_FLIP_HORIZONTAL);
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>
ပြ Proble နာ : imageflip function ကိုပုံကိုလှန်လိုက်တဲ့အခါပွင့်လင်းမြင်သာတဲ့ပုံရိပ်ကမီးခိုးရောင်နောက်ခံရှိနိုင်တယ်။
အကြောင်းရင်း - Imageflip function သည် ပွင့်လင်းမြင်သာမှုကိုမှန်ကန်စွာကိုင်တွယ်ရန်ပျက်ကွက်သည်။
ဖြေရှင်းချက် - Blending mode ကိုပိတ်ထားပါ။
ဤနည်းလမ်းများမှတစ်ဆင့် PHP imageflip function သည်ပုံရိပ်၏ပွင့်လင်းမြင်သာမှုကိုမှန်ကန်စွာထိန်းသိမ်းထားနိုင်ရန်အတွက်မီးခိုးရောင်နောက်ခံပြ problem နာကိုထိရောက်စွာဖြေရှင်းနိုင်သည်။