ပုံများပြုပြင်သည့်အခါရေသည်မူပိုင်ခွင့်ကိုကာကွယ်ရန်ဘုံနည်းလမ်းများဖြစ်သည်။ PHP သည်ရုပ်ပုံပြုပြင်ခြင်းအတွက် features များအတွက်အင်္ ဂါရပ်များစွာကိုပေးသည်။ ယနေ့ PHP တွင် icagestradringup () function ကို အသုံးပြု. ဒေါင်လိုက်ရေစာများကိုမည်သို့ဆွဲရမည်ကိုရှင်းပြပါမည်။
ပထမ ဦး စွာသင်၏ PHP ပတ် 0 န်းကျင်သည် GD စာ ကြည့် တိုက်ကိုအထောက်အကူပြုကြောင်းသေချာစေရန်လိုအပ်သည်, GD စာကြည့်တိုက်သည် PHP တွင်အသုံးများသော Image processing library တစ်ခုဖြစ်ပြီး PHP ကို install လုပ်သည့်အခါများသောအားဖြင့်ဖွင့်နိုင်သည်။ သင်၏ PHP တွင် GD စာကြည့်တိုက်တွင် GD စာကြည့်တိုက်တွင်အောက်ပါကုဒ်ကိုလိုက်နာခြင်းရှိမရှိစစ်ဆေးနိုင်သည်။
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>
သင်၏ပတ် 0 န်းကျင်သည် GD စာကြည့်တိုက်ကိုဖွင့ ်. မရပါက၎င်းကို php.ini ဖိုင်တွင်ဖွင့်ရန်သို့မဟုတ် Package Manager ကို အသုံးပြု. ထည့်သွင်းရန်လိုအပ်သည်။
ဒေါင်လိုက်ရေစာများပုံဆွဲခြင်း၏အခြေခံဖြစ်စဉ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
ပစ်မှတ်ပုံရိပ်ဖန်တီးသို့မဟုတ် load ။
ရေစာ, ဖောင့်, အရောင်စသည်တို့ကိုသတ်မှတ်ပါ။
ဒေါင်လိုက်စာသားဆွဲရန် စိတ်ကူးယဉ်ပုံ () ကို သုံးပါ။
output ကို formputed ပုံရိပ်ကိုသိမ်းဆည်းပါ။
ပုံရိပ်တစ်ခုသို့ဒေါင်လိုက်ရေစာရှုရန် ပုံရိပ် () ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသော PHP ကုဒ်နံပါတ်တစ်ခုကိုဤတွင်ဖော်ပြထားသည်။
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>
ပုံတစ်ခုဖန်တီးပါ။
800x600 ၏အလွတ်နေရာတစ်ခုကိုဖန်တီးရန် isaecreatetuecolor () ကိုသုံးပါ။ လိုအပ်သည့်အတိုင်းပတ်တူ၏အရွယ်အစားကိုချိန်ညှိနိုင်သည်။
ထို့နောက်အဖြူရောင်နောက်ခံကို isagecolorallallate () နှင့်ပတ်တူဖြည့်ပါ။
Loading ဖောင့်များ:
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် TrueType font ( .ttf file) ကိုသုံးပြီး, ဖောင့်ဖိုင်သို့လမ်းကြောင်းကိုသင်လိုအပ်သည်။ ဖောင့်သို့လမ်းကြောင်းသည်ဆွေမျိုးသို့မဟုတ်ပကတိလမ်းကြောင်းဖြစ်နိုင်သည်။
Tatmark စာသားကိုသတ်မှတ်ပါ -
စိတ်ကူးစိတ်သန်း မှတဆင့်ဒေါင်လိုက်စာသားကိုဆွဲပါ။ ဤလုပ်ဆောင်ချက်၏ parameters တွေကိုပုံရိပ်အရင်းအမြစ်များ, ဖောင့်အရွယ်အစား, X နှင့် Y ကိုသွဒီနိတ်များ, စာသားအကြောင်းအရာနှင့်စာသားအရောင်များပါ 0 င်သည်။
ရေကြောင်းစာသား၏အနံနှင့်အမြင့်တွက်ချက်:
ပုံကိုပုံပေါ်လျစ်လျူရှုထားရန်ရေစာ၏အကျယ်နှင့်အမြင့်ကိုတွက်ချက်သည်။ imagettfbox () သည် အဖုံးသေတ္တာများပါ 0 င်သောခင်းကျင်းမှုများကိုပြန်လည်ရောက်ရှိစေပြီးစာသား၏အရွယ်အစားကိုတွက်ချက်သည်။
ရေစာတစ်စောင်ဆွဲပါ
နောက်ဆုံးတွင်သတ်မှတ်ထားသောအနေအထားတွင်ဒေါင်လိုက်စာသားဆွဲရန် စိတ်ကူးယဉ်ပုံ () ကို သုံးပါ။
output ကိုပုံ:
ImagePng ကို သုံးပါ။ ဒီ function ကို PNG format နဲ့ browser ကို browser မှထုတ်ပေးလိမ့်မယ်။ imagejpeg () သို့မဟုတ် imagof () စသည့်အခြားပုံစံများကိုလိုအပ်သလို output လုပ်နိုင်သည်။
အမှတ်တရ 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 တွင်ဒေါင်လိုက်စာသားရေစာဗိအကျိုးသက်ရောက်နိုင်ပုံကိုသင်လေ့လာနိုင်သည်။