လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Loop rendering character animation ကိုပေါင်းစပ်ရန် imagefontwidth () ကိုသုံးပါ

Loop rendering character animation ကိုပေါင်းစပ်ရန် imagefontwidth () ကိုသုံးပါ

M66 2025-06-05

PHP မှဇာတ်ကောင်ကာတွန်းသက်ရောက်မှုများပြုလုပ်ခြင်းသည် JavaScript (သို့ ) CSS ကို အသုံးပြု. အလိုအလျောက်မတူသော်လည်း, ဤဆောင်းပါးသည် Loop ကို character sequence ကိုဖန်တီးရန် Loop sequence ကိုထုတ်လုပ်ရန် Loop ကိုပေါင်းစပ်ရန် Loop ကိုပေါင်းစပ်ရန်မည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါလိမ့်မည်။

1 ။ Imagefontwidth ကိုနားလည်ပါ ()

ImageFontwidth () သည် PHPG GD စာကြည့်တိုက်တွင်သတ်မှတ်ထားသော font width ရရှိရန်အသုံးပြုသော PHPG GD စာကြည့်တိုက်တွင်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်း၏ရည်ရွယ်ချက်မှာ font midth ကို () နှင့် icagestringup () လုပ်ဆောင်ချက်များကိုအသုံးပြုသော pixel များကို pixel များကိုပြန်ပို့ရန်ဖြစ်သည်။ ဒီ function ဟာ Image ပေါ်ရှိဇာတ်ကောင်အတိအကျကိုထိန်းချုပ်ရန်အထူးသဖြင့်သင့်တော်သည်။

 $font = 5;
$charWidth = imagefontwidth($font);

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်စာလုံးတစ်လုံးစီ၏အကျယ်ကိုရရှိရန် Font ကို 5 ခုနှင့်အသုံးပြုသည်

2 ။ ဒီဇိုင်းကာတွန်းယုတ္တိဗေဒ

ရိုးရှင်းတဲ့ကာတွန်းအကျိုးသက်ရောက်မှုကိုတည်ဆောက်ကြပါစို့။ ဘောင်တစ်ခုစီသည်ပုံတစ်ပုံတစ်ခုဖြစ်ပြီးဇာတ်ကောင်များ၏အနေအထားကို frame number မှဆုံးဖြတ်သည်။ imagefontwidth () ပုံတစ်ပုံတွင်အလျားလိုက်အဆင်သင့်များကိုတိကျစွာတွက်ချက်ရန် imagefontwidth () ကို သုံးပါ။

3 ။ frame sequences ထုတ်လုပ်ဘို့နမူနာကုဒ်

 <?php
$font = 5;
$char = '*';
$frameCount = 20;
$imageWidth = 200;
$imageHeight = 40;
$charWidth = imagefontwidth($font);

// dynamically မျိုးစုံဘောင်များထုတ်ပေး
for ($frame = 0; $frame < $frameCount; $frame++) {
    $im = imagecreate($imageWidth, $imageHeight);
    $bgColor = imagecolorallocate($im, 255, 255, 255);
    $textColor = imagecolorallocate($im, 0, 0, 0);
    
    // ဇာတ်ကောင်တွက်ချက် x ညီညာစေ
    $x = ($charWidth * $frame) % $imageWidth;
    $y = ($imageHeight - imagefontheight($font)) / 2;
    
    imagestring($im, $font, $x, $y, $char, $textColor);

    // အဖြစ်ဘောင်ကိုသိမ်းပါ PNG စာချုပ်စာတမ်း
    $filename = "frame_$frame.png";
    imagepng($im, $filename);
    imagedestroy($im);
}
?>

အထက်ဖော်ပြပါကုဒ်သည် script ည့်သည် run ပြီးနောက် PNG ရုပ်ပုံများကိုထုတ်လုပ်လိမ့်မည်။ ပုံတစ်ပုံစီရှိ အက္ခရာများ သည်အရင်တစ်ခုထက်မှန်ကန်သောအပိုအကျယ်သို့ပြောင်းရွှေ့သည်။

4 ။ ဘောင်ကိုကာတွန်းထဲသို့ထည့်ပါ

PHP ကိုယ်တိုင်က GIF Animations ကိုတိုက်ရိုက်ထုတ်လုပ်နိုင်သော်လည်း ISEMAGICT ကဲ့သို့သောပြင်ပကိရိယာများကို GIF Animets သို့ synolsize လုပ်ရန် Emposemagick ကိုယ်တိုင်ပြုလုပ်နိုင်သည်။

 convert -delay 10 -loop 0 frame_*.png animation.gif

သို့မဟုတ် https://m66.net/tool/gifmaker သို့လာရောက်လည်ပတ်ခြင်းကဲ့သို့သောအွန်လိုင်းကိရိယာများကို အသုံးပြု. Animeations များကို syntheize လုပ်ရန်။

5 ။ အဆင့်မြင့်: ပြောင်းပြန်လှုပ်ရှားမှုနှင့်စောင်ရေ

ဇာတ်ကောင်လှုပ်ရှားမှုများကိုနောက်ပြန်လှည့်ပတ်ကြည့်ရှုရန်, သင်သည် "Round Trip" sequence သို့ ဒေါ်လာ frame ကိုမြေပုံဆွဲနိုင်သည်။ ဥပမာ -

 $step = $frame % ($frameCount * 2);
$offset = $step < $frameCount ? $step : (2 * $frameCount - $step - 1);
$x = ($charWidth * $offset) % $imageWidth;

ဤနည်းအားဖြင့်ဇာတ်ကောင်များသည်ပုံတွင်နောက်ကျောနှင့်ထွက်လာလိမ့်မည်။

အကျဉ်းချုပ်