လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင်စိတ်ကူးယဉ်စာသားကို အသုံးပြု. ဒေါင်လိုက်စာသားဖြင့်ရေစာဖြင့်ဆွဲရမည်နည်း။ လက်တွေ့ကျသင်ခန်းစာကဒီမှာပါ

PHP တွင်စိတ်ကူးယဉ်စာသားကို အသုံးပြု. ဒေါင်လိုက်စာသားဖြင့်ရေစာဖြင့်ဆွဲရမည်နည်း။ လက်တွေ့ကျသင်ခန်းစာကဒီမှာပါ

gitbox 2025-06-16

PHP တွင်စိတ်ကူးယဉ်စာသားကို အသုံးပြု. ဒေါင်လိုက်စာသားဖြင့်ရေစာဖြင့်ဆွဲရမည်နည်း။ လက်တွေ့ကျသင်ခန်းစာကဒီမှာပါ

ပုံများပြုပြင်သည့်အခါရေသည်မူပိုင်ခွင့်ကိုကာကွယ်ရန်ဘုံနည်းလမ်းများဖြစ်သည်။ PHP သည်ရုပ်ပုံပြုပြင်ခြင်းအတွက် features များအတွက်အင်္ ဂါရပ်များစွာကိုပေးသည်။ ယနေ့ PHP တွင် icagestradringup () function ကို အသုံးပြု. ဒေါင်လိုက်ရေစာများကိုမည်သို့ဆွဲရမည်ကိုရှင်းပြပါမည်။

ပြင်ဆင်မှု

ပထမ ဦး စွာသင်၏ PHP ပတ် 0 န်းကျင်သည် GD စာ ကြည့် တိုက်ကိုအထောက်အကူပြုကြောင်းသေချာစေရန်လိုအပ်သည်, GD စာကြည့်တိုက်သည် PHP တွင်အသုံးများသော Image processing library တစ်ခုဖြစ်ပြီး PHP ကို ​​install လုပ်သည့်အခါများသောအားဖြင့်ဖွင့်နိုင်သည်။ သင်၏ PHP တွင် GD စာကြည့်တိုက်တွင် GD စာကြည့်တိုက်တွင်အောက်ပါကုဒ်ကိုလိုက်နာခြင်းရှိမရှိစစ်ဆေးနိုင်သည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'gd_info'</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"GD library is enabled!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"GD library is not enabled!"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

သင်၏ပတ် 0 န်းကျင်သည် GD စာကြည့်တိုက်ကိုဖွင့ ်. မရပါက၎င်းကို php.ini ဖိုင်တွင်ဖွင့်ရန်သို့မဟုတ် Package Manager ကို အသုံးပြု. ထည့်သွင်းရန်လိုအပ်သည်။

အခြေခံအဆင့်များ

ဒေါင်လိုက်ရေစာများပုံဆွဲခြင်း၏အခြေခံဖြစ်စဉ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

  1. ပစ်မှတ်ပုံရိပ်ဖန်တီးသို့မဟုတ် load ။

  2. ရေစာ, ဖောင့်, အရောင်စသည်တို့ကိုသတ်မှတ်ပါ။

  3. ဒေါင်လိုက်စာသားဆွဲရန် စိတ်ကူးယဉ်ပုံ () ကို သုံးပါ။

  4. output ကို formputed ပုံရိပ်ကိုသိမ်းဆည်းပါ။

Code Page

ပုံရိပ်တစ်ခုသို့ဒေါင်လိုက်ရေစာရှုရန် ပုံရိပ် () ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသော PHP ကုဒ်နံပါတ်တစ်ခုကိုဤတွင်ဖော်ပြထားသည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// နောက်ခံပုံတစ်ခုဖန်တီးပါ</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">800</span></span><span>, </span><span><span class="hljs-number">600</span></span><span>);

</span><span><span class="hljs-comment">// နောက်ခံအရောင်ကိုရွေးချယ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$bg_color</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>);  </span><span><span class="hljs-comment">// အဖြူရောင်နောက်ခံ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$bg_color</span></span><span>);

</span><span><span class="hljs-comment">// font ဖိုင်များကို load</span></span><span>
</span><span><span class="hljs-variable">$font</span></span><span> = </span><span><span class="hljs-string">'./path/to/your/font.ttf'</span></span><span>; </span><span><span class="hljs-comment">// ကျေးဇူးပြု. Font ဖိုင်လမ်းကြောင်းမှန်ကိုသေချာအောင်လုပ်ပါ</span></span><span>

</span><span><span class="hljs-comment">// ရေစာပြစာသားအကြောင်းအရာကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$watermark_text</span></span><span> = </span><span><span class="hljs-string">'Your Watermark'</span></span><span>;

</span><span><span class="hljs-comment">// စာလုံးအရွယ်အစားကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$font_size</span></span><span> = </span><span><span class="hljs-number">20</span></span><span>;

</span><span><span class="hljs-comment">// Watermark စာသားအရောင်(မီးခိုးရောင်ဖြစ်သော)</span></span><span>
</span><span><span class="hljs-variable">$watermark_color</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);

</span><span><span class="hljs-comment">// Watermark စာသား၏အနံနှင့်အမြင့်တွက်ချက်ပါ</span></span><span>
</span><span><span class="hljs-variable">$bbox</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagettfbbox</span></span><span>(</span><span><span class="hljs-variable">$font_size</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$font</span></span><span>, </span><span><span class="hljs-variable">$watermark_text</span></span><span>);
</span><span><span class="hljs-variable">$watermark_width</span></span><span> = </span><span><span class="hljs-title function_ invoke__">abs</span></span><span>(</span><span><span class="hljs-variable">$bbox</span></span><span>[</span><span><span class="hljs-number">2</span></span><span>] - </span><span><span class="hljs-variable">$bbox</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>]);
</span><span><span class="hljs-variable">$watermark_height</span></span><span> = </span><span><span class="hljs-title function_ invoke__">abs</span></span><span>(</span><span><span class="hljs-variable">$bbox</span></span><span>[</span><span><span class="hljs-number">5</span></span><span>] - </span><span><span class="hljs-variable">$bbox</span></span><span>[</span><span><span class="hljs-number">3</span></span><span>]);

</span><span><span class="hljs-comment">// ဒေါင်လိုက်ရေစာပြစာသားဆွဲပါ</span></span><span>
</span><span><span class="hljs-variable">$x</span></span><span> = </span><span><span class="hljs-number">50</span></span><span>;  </span><span><span class="hljs-comment">// ရေစာပြစာသားကိုသတ်မှတ်ပါXညီညာစေ</span></span><span>
</span><span><span class="hljs-variable">$y</span></span><span> = </span><span><span class="hljs-number">100</span></span><span>; </span><span><span class="hljs-comment">// ရေစာပြစာသားကိုသတ်မှတ်ပါYညီညာစေ</span></span><span>

</span><span><span class="hljs-comment">// အသုံးပြုimagestringupဒေါင်လိုက်စာသားဆွဲပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagestringup</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-variable">$x</span></span><span>, </span><span><span class="hljs-variable">$y</span></span><span>, </span><span><span class="hljs-variable">$watermark_text</span></span><span>, </span><span><span class="hljs-variable">$watermark_color</span></span><span>);

</span><span><span class="hljs-comment">// output ကိုပုံ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: image/png'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);

</span><span><span class="hljs-comment">// မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

code parsing

  1. ပုံတစ်ခုဖန်တီးပါ။

    • 800x600 ၏အလွတ်နေရာတစ်ခုကိုဖန်တီးရန် isaecreatetuecolor () ကိုသုံးပါ။ လိုအပ်သည့်အတိုင်းပတ်တူ၏အရွယ်အစားကိုချိန်ညှိနိုင်သည်။

    • ထို့နောက်အဖြူရောင်နောက်ခံကို isagecolorallallate () နှင့်ပတ်တူဖြည့်ပါ။

  2. Loading ဖောင့်များ:

    • ဤဥပမာတွင်ကျွန်ုပ်တို့သည် TrueType font ( .ttf file) ကိုသုံးပြီး, ဖောင့်ဖိုင်သို့လမ်းကြောင်းကိုသင်လိုအပ်သည်။ ဖောင့်သို့လမ်းကြောင်းသည်ဆွေမျိုးသို့မဟုတ်ပကတိလမ်းကြောင်းဖြစ်နိုင်သည်။

  3. Tatmark စာသားကိုသတ်မှတ်ပါ -

    • စိတ်ကူးစိတ်သန်း မှတဆင့်ဒေါင်လိုက်စာသားကိုဆွဲပါ။ ဤလုပ်ဆောင်ချက်၏ parameters တွေကိုပုံရိပ်အရင်းအမြစ်များ, ဖောင့်အရွယ်အစား, X နှင့် Y ကိုသွဒီနိတ်များ, စာသားအကြောင်းအရာနှင့်စာသားအရောင်များပါ 0 င်သည်။

  4. ရေကြောင်းစာသား၏အနံနှင့်အမြင့်တွက်ချက်:

    • ပုံကိုပုံပေါ်လျစ်လျူရှုထားရန်ရေစာ၏အကျယ်နှင့်အမြင့်ကိုတွက်ချက်သည်။ imagettfbox () သည် အဖုံးသေတ္တာများပါ 0 င်သောခင်းကျင်းမှုများကိုပြန်လည်ရောက်ရှိစေပြီးစာသား၏အရွယ်အစားကိုတွက်ချက်သည်။

  5. ရေစာတစ်စောင်ဆွဲပါ

    • နောက်ဆုံးတွင်သတ်မှတ်ထားသောအနေအထားတွင်ဒေါင်လိုက်စာသားဆွဲရန် စိတ်ကူးယဉ်ပုံ () ကို သုံးပါ။

  6. output ကိုပုံ:

    • ImagePng ကို သုံးပါ။ ဒီ function ကို PNG format နဲ့ browser ကို browser မှထုတ်ပေးလိမ့်မယ်။ imagejpeg () သို့မဟုတ် imagof () စသည့်အခြားပုံစံများကိုလိုအပ်သလို output လုပ်နိုင်သည်။

  7. အမှတ်တရ Memory:

    • မှတ်ဉာဏ် ယိုစိမ့်မှုများကိုရှောင်ရှားရန် Image အရင်းအမြစ်များကိုအခမဲ့အခမဲ့ () ကိုသုံးပါ။

မှတ်သားရန်အရာ

  • ဖောင့်ရွေးချယ်ခြင်း - 0 င်းဒိုးစနစ်များတွင်ပါ 0 င်သည့်ဖောင့်များသည်များသောအားဖြင့် .ttf format ဖြင့်ဖြစ်သည် .Ttf format တွင်ရှိနေသည်။ font လမ်းကြောင်းမှန်ကိုသေချာအောင်လုပ်ပါ, မဟုတ်ရင် font ကို loaded လိမ့်မည်မဟုတ်ပါ။

  • Watermark Position: သင်က x နှင့် y ၏သွဒီနိတ်များကိုညှိခြင်းဖြင့်ရေစာ၏အနေအထားကိုချိန်ညှိနိုင်သည်။ အကယ်. ထိန်းချုပ်မှုလိုအပ်ပါကပုံအရွယ်အစားကိုစာသားကိုမဆွဲမီတွက်ချက်နိုင်သည်။

  • စွမ်းဆောင်ရည်ပိုကောင်းအောင် - ပုံရိပ်ကြီးကြီးသောအခါပုံရိပ်ထုတ်ယူခြင်းသည်အရင်းအမြစ်များပိုမိုသုံးစွဲလိမ့်မည်။ ပုံရိပ်များစွာကိုမကြာခဏလုပ်ဆောင်ရန်လိုအပ်ပါက cache သို့မဟုတ် allynchronous processing ကို အသုံးပြု. စဉ်းစားပါ။

အကျဉ်းချုပ်

ImagesDringUp () သည် PHPG GD စာကြည့်တိုက်တွင်အလွန်လက်တွေ့ကျတဲ့လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဒီသင်ခန်းစာမှာတော့ Image Creation မှ output ကိုထုတ်လုပ်ရန်အပြည့်အဝခြေလှမ်းများအပါအ 0 င်ဒေါင်လိုက်ရေစာကိုမည်သို့ဖန်တီးရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။ ဤသင်ခန်းစာမှတစ်ဆင့် PHP တွင်ဒေါင်လိုက်စာသားရေစာဗိအကျိုးသက်ရောက်နိုင်ပုံကိုသင်လေ့လာနိုင်သည်။