လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စာသားဘားဇယားဆွဲရန်ဇာတ်ကောင်စာရင်းအင်းများနှင့် imagefontwidth () ကိုပေါင်းစပ်ခြင်း

စာသားဘားဇယားဆွဲရန်ဇာတ်ကောင်စာရင်းအင်းများနှင့် imagefontwidth () ကိုပေါင်းစပ်ခြင်း

M66 2025-05-28

0 က်ဘ်တီထွင်မှုတွင်ဇယားဆွဲခြင်းသည်အထူးသဖြင့်စာရင်းဇယားများကိုတင်ပြသည့်အခါအထူးလိုအပ်ချက်တစ်ခုဖြစ်သည်။ ပရော်ဖက်ရှင်နယ်ဇယားစာကြည့်တိုက်များစွာရှိသော်လည်းတစ်ခါတစ်ရံတွင် IntuWITITIR ဘားဇယားကိုလျင်မြန်စွာအကောင်အထည်ဖော်ရန်အတွက်ရိုးရှင်းသောစာသားနှင့် PHP built-in functions များကိုသာအသုံးပြုရန်လိုအပ်သည်။ GD စာကြည့်တိုက်ကို အသုံးပြု. ရိုးရှင်းသောစာသားဘားဇယားဆွဲရန်ဇာတ်ကောင်စာရင်းအင်းနှင့် PHPF ၏ imagefontwidth () function ကိုမည်သို့ပေါင်းစပ်ရမည်ကိုဤဆောင်းပါးကဤဆောင်းပါးသည်မိတ်ဆက်ပေးလိမ့်မည်။

1 ။ Core စိတ်ကူး

ဘားဇယား၏အလျားလိုက် Axis သည်အမျိုးအစားကိုကိုယ်စားပြုရန်စာသားကိုအသုံးပြုသည်။ Vertical Axis သည်တန်ဖိုး၏အရွယ်အစားကိုကိုယ်စားပြုရန်စာသားစာလုံးများကိုအသုံးပြုသည်။ Collfictwidth () function ကိုပေါင်းစပ်ပြီး ImageFontwidth () function ကိုပေါင်းစပ်ခြင်းဖြင့်ကော်လံတစ်ခုစီ၏အကျယ်ကိုတွက်ချက်သည်။

2 ။ ပြင်ဆင်မှု

သင်၏ PHP ပတ် 0 န်းကျင်သည် GD စာကြည့်တိုက်များကို Support လုပ်ပါ

3 ။ အဓိကလုပ်ဆောင်ချက်များကိုနိဒါန်း

  • ImageFontwidth (INT $ font): Int
    built-in ဖောင့်၏ဇာတ်ကောင်အကျယ်ကိုပြန်ပို့သည်။ GD စာကြည့်တိုက်တွင်အရွယ်အစားအမျိုးမျိုးနှင့်အကျယ်တို့တွင် fonts (1 မှ 5) တွင်တပ်ဆင်ထားသည်။

  • icealring (အရင်းအမြစ် $ image, int $ font, IN $ font $ ot $ y, int $ y, string ကို $ colrot): Bool
    ပုံထဲမှာ string ကိုဆွဲပါ။

4 ။ နမူနာကုဒ်

စာသားဘားဇယားဆွဲရန်မည်သို့ပုံဖော်ပြသသည့်ဥပမာရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

 <?php
// ဒေတာနမူနာ,အမျိုးအစား => အဘိုး(ဇာတ်ကောင်အရှည်အားဖြင့်ထုတ်ဖော်ပြောကြားခဲ့သည်)
$data = [
    'ပန်းသီး' => 5,
    'ငှက်ပျောသီး' => 8,
    'အခွံပွလိမ္မော်သီး' => 3,
    'သဗျစ်သီး' => 6,
    'သစ်တော်သီး' => 4,
];

// ပတ်တူအရွယ်အစား
$width = 400;
$height = 300;

// စစ်မှန်သောအရောင်ပုံရိပ်များကိုဖန်တီးပါ
$image = imagecreatetruecolor($width, $height);

// အရောင်အဓိပ္ပါယ်ဖွင့်ဆိုချက်
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$blue = imagecolorallocate($image, 0, 0, 255);

// နောက်ခံအရောင်ကိုဖြည့်ပါ
imagefill($image, 0, 0, $white);

// စာလုံးအရွယ်အစားကိုရွေးချယ်ပါ(1 ရောက်လာ 5)
$font = 5;
$fontWidth = imagefontwidth($font);
$fontHeight = imagefontheight($font);

// ကော်လံအကွာအဝေးတွက်ချက်
$barSpacing = 10;

// စတင်ပုံဆွဲသွဒီနိတ်များကိုသတ်မှတ်ပါ
$xStart = 50;
$yStart = 50;

// အများဆုံးကော်လံအရှည်(pixels မှ pixel အရေအတွက်)
$maxLength = max($data);
$maxBarWidth = 200;

// ဒေတာမှတဆင့် histograms ဆွဲပါ
foreach ($data as $label => $value) {
    // ကော်လံအကျယ်တွက်ချက်,基于最大အဘိုး缩放
    $barWidth = intval($value / $maxLength * $maxBarWidth);

    // ကော်လံဆွဲခြင်း(အပြာရောင်စတုဂံကိုသုံးပါ)
    imagefilledrectangle($image, $xStart, $yStart, $xStart + $barWidth, $yStart + $fontHeight, $blue);

    // 绘制အမျိုးအစား文字(ပို့စ်၏ဘယ်ဘက်ခြမ်းတွင်)
    imagestring($image, $font, $xStart - strlen($label) * $fontWidth - 10, $yStart, $label, $black);

    // 绘制အဘိုး文字(ပို့စ်၏ညာဘက်အခြမ်းတွင်)
    imagestring($image, $font, $xStart + $barWidth + 5, $yStart, str_repeat('|', $value), $black);

    // လာမယ့်ကော်လံ၏ဒေါင်လိုက်သွဒီနိတ်ချထားသည်
    $yStart += $fontHeight + $barSpacing;
}

// output ကိုရုပ်ပုံ header
header('Content-Type: image/png');
imagepng($image);

// မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($image);
?>

5 ။ ကုဒ်ဖော်ပြချက်

  • $ ဒေတာ ခင်းကျင်းသည်အမျိုးအစားတစ်ခုစီနှင့်၎င်း၏သက်ဆိုင်ရာကိန်းဂဏန်းတန်ဖိုးများကိုသတ်မှတ်သည်။ ပိုကြီးတဲ့တန်ဖိုးကိုပိုရှည်ကော်လံ။

  • စာသားနှင့်ကော်လံအရှည်များ၏တိကျသောတွက်ချက်မှုကိုသေချာစေရန်အက်ခရာအကျယ်ကိုရရှိရန် imagefontwidth () ကိုသုံးပါ။

  • IDEFFEFETEFLENGENGENGEND နှင့်အတူကော်လံစတုဂံဆွဲပါ။

  • deterical bar chart ဆွဲရန် စိတ်ကူးယဉ် () ကိုသုံးပါ ဇာတ်ကောင်များ။

  • ကော်လံအကျယ်ကို dynamically တွက်ချက်မှုနှင့်ကော်လံအရှည်သည်အများဆုံးတန်ဖိုးနှင့်အချိုးကျသည်။

6 ။ အကျိုးသက်ရောက်မှုမျက်နှာပြင်

အထက်ပါ PHP script ကိုဖွင့်ပြီးနောက် PNG ပုံရိပ်ကိုရိုးရိုးလေးစာသားဘားဇယားကိုပြ သ. ရနိုင်သည်။ အလျားလိုက်စီစဉ်ထားသည့်အပြာရောင်ကော်လံများသည်တန်ဖိုး၏အရွယ်အစား, ဘယ်ဘက်ရှိအမျိုးအစားအမည်ရှိနှင့်လက်ဝဲဘက်တွင်ဒေါင်လိုက်အက္ခရာများဖြင့်ကိုယ်စားပြုသောကိန်းဂဏန်းများကိုကိုယ်စားပြုသည်။


ဤနည်းလမ်းသည်ဂရပ်ဖစ်များသည်မမြင့်မားသောနေရာများသို့မဟုတ်ရိုးရှင်းသောစာရင်းအင်းဂရပ်များကိုမြန်မြန်ဆန်ဆန်ထုတ်လုပ်ရန်လိုအပ်သည်။ ပိုမိုရှုပ်ထွေးသောဂရပ်ဖစ်နှင့်ဇယားများကိုပိုမိုပေါင်းစပ်ခြင်းများကိုပေါင်းစပ်နိုင်သည်။

သငျသညျပုဆိန်, ခေါင်းစဉ်များနှင့် dynamic ဖောင့်များထည့်သွင်းခြင်းစသည်တို့ကိုပိုမိုကောင်းမွန်စေရန်လိုလျှင်ဤအခြေခံအပေါ်ချဲ့နိုင်သည်။