PHP တွင် Impflip () သည်ရုပ်ပုံများကိုလှန်ရန်အသုံးပြုနိုင်သည့်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်ဖြစ်သည်။ ၎င်းသည် static images များကိုလှန်လှောကြည့်ရှုနိုင်သည်, သို့သော်သင်သည် dynamic ပုံများ (GIF Animations ကဲ့သို့) တွင်အလုပ်လုပ်သောအခါဘောင်တိုင်းကိုသင်မည်သို့ကိုင်တွယ်သနည်း။ ဤဆောင်းပါးသည် imageGIF () function ကိုပေါင်းစပ်ပြီး GIF Animation frame frame frame frame flip လုပ်နည်းကိုမိတ်ဆက်ပေးရန်ပေါင်းစပ်ပါလိမ့်မည်။
ပထမ ဦး စွာ, သင်သည် gif animation ကိုတင်ပြီးပုံတစ်ပုံစီကိုရယူပါ။ frame တစ်ခုစီ၏ပြုပြင်မွမ်းမံခြင်းရလဒ်များကိုသိမ်းဆည်းရန်ကျွန်ုပ်တို့သည် dynam image () ကို အသုံးပြု. imageGIF () ကို သုံးနိုင်သည်။
<?php
// ဝန်တင် GIF ရုပ်ရှင်ဓာတ်ပုံများ
$imagePath = "path_to_your_gif.gif";
$image = imagecreatefromgif($imagePath);
// ရယူ GIF ဘောင်အရေအတွက်
$frames = [];
$delays = [];
$frameCount = count($frames);
for ($i = 0; $i < $frameCount; $i++) {
// 逐帧ရယူ图像
$frame = imagecreatefromgif($image);
$frames[] = $frame;
$delays[] = 100; // frame နှောင့်နှေးအချိန်သတ်မှတ်ပါ100
}
?>
ပုံ၏ဘောင်တစ်ခုစီအတွက် ImageFlip ကို သုံးနိုင်သည်။ ImageFlip () အလျားလိုက်သို့မဟုတ်ဒေါင်လိုက်လှန်ခြင်းကဲ့သို့သော directional parameter ကိုလက်ခံနိုင်သည်။ များသောအားဖြင့်အသုံးပြုသော parameters တွေကိုပါဝင်သည်:
img_flip_horizontal : အလျားလိုက်လှန်
img_flip_vertical : ဒေါင်လိုက်လှန်
ဤနေရာတွင်ကျွန်ုပ်တို့သည် frame တစ်ခုစီကိုအလျားလိုက်လှန်ရန်ရွေးချယ်သည်။
<?php
foreach ($frames as $frame) {
// အသုံးပြု imageflip() တစ်ခုချင်းစီကို frame တစ်ခုချင်းစီကိုအလျားလိုက်လှန်
imageflip($frame, IMG_FLIP_HORIZONTAL);
}
?>
နောက်တစ်ခုကို GIF Animation တစ်ခုအဖြစ်သိမ်းဆည်းရန် impageGIF () ကိုသုံးပါ။ ချွေတာခြင်းမပြုမီ, ဘောင်တစ်ခုစီ၏အမှာစာနှင့်နှောင့်နှေးမှုအချိန်ကိုမှန်ကန်စွာအသုံးချရန်သေချာစေရန်လိုအပ်သည်။
<?php
// output ကိုသတ်မှတ် GIF ဖိုင်လမ်းကြောင်း
$outputPath = "path_to_output_gif.gif";
$imagegif($frames[0], $outputPath); // ပထမဘောင်ကိုသိမ်းပါ
// ကျန်ရှိသောဘောင်များကိုသိမ်းဆည်းပါ
for ($i = 1; $i < count($frames); $i++) {
// တိုင်းဘောင်ထည့်ပါ GIF ရုပ်ရှင်ဓာတ်ပုံများ
imagegif($frames[$i], $outputPath);
}
?>
Image processing ပြီးစီးပြီးနောက် Memory ယိုစိမ့်မှုများကိုရှောင်ရှားရန်အရင်းအမြစ်များအားလုံးဖြန့်ချိရန်လိုအပ်သည်။
<?php
// image အရင်းအမြစ်များ၏ဘောင်တိုင်းကိုလွှတ်လိုက်ပါ
foreach ($frames as $frame) {
imagedestroy($frame);
}
// အခမဲ့မူရင်းပုံရိပ်အရင်းအမြစ်များ
imagedestroy($image);
?>
imageflip () နှင့် imagofigif () နှင့်အတူ, သင်အဆင်ပြေစွာလှန်လှောကြည့်ရှု။ , ဤနည်းလမ်းသည်အထူးသဖြင့် frame တစ်ခုချင်းစီကိုလှန်ရန်လိုသည့်မြင်ကွင်းများအတွက်သင့်တော်သည်။ သင်မတူညီသောလုပ်ဆောင်မှုနည်းလမ်းများကိုဘောင်တစ်ခုစီသို့လည်းကျင့်သုံးနိုင်သည်, သို့မဟုတ်လိုအပ်သလိုကာတွန်းအကျိုးသက်ရောက်မှုများကိုပင်ထည့်နိုင်သည်။