PHP တွင် Idegif () တွင် ရုပ်ပုံများကို GIF format ဖြင့်သိမ်းဆည်းရန်အသုံးများသော function တစ်ခုဖြစ်သည်။ သို့သော် GIF format သည်ပွင့်လင်းမြင်သာမှုပုံစံအချို့ကိုအထောက်အကူပြုသော်လည်း IdentGIF () function သည် alpha transparency-function ကိုအပြည့်အဝမထောက်ပံ့ပါ။
ပထမဆုံးအကြိမ်သိရခြင်းသည် GIF ပုံစံများနှင့်အခြားပုံစံများ (PNG, JPEG) သည်ပွင့်လင်းမြင်သာမှုကိုကိုင်တွယ်ရာတွင်အလွန်ကွဲပြားခြားနားသည်။ GIF အမျိုးအစား၏ပွင့်လင်းမြင်သာမှုသည် Pixel ၏ "alpha channel" ပေါ်တွင်မမူတည်သော်လည်းပုံရိပ်နှင့်သက်ဆိုင်သောအရောင်အသွေးကိုဖော်ပြခြင်းဖြင့်အောင်မြင်သည်။ ဆိုလိုသည်မှာ GIF ရုပ်ပုံများသည်တစ်စိတ်တစ်ပိုင်းပွင့်လင်းမြင်သာမှု (သို့) gradient transparency ကိုထောက်ပံ့ခြင်းမရှိဘဲလုံးဝပွင့်လင်းမြင်သာသောအရောင်တစ်ခုသာရှိသည်။
GIF ၏ပွင့်လင်းမြင်သာမှုသည်အောက်ပါအတိုင်းဖြစ်သည် -
ပုံ၏ pixel တစ်ခုချင်းစီတွင်အရောင်ခြယ်ထားသောအရောင်အညွှန်းတစ်ခုရှိသည်။
GIF Image တစ်ခုကိုဖန်တီးသောအခါအရောင်ကို "ပွင့်လင်းမြင်သာ" အဖြစ်သတ်မှတ်နိုင်သည်။
အခြားအရောင်များအားလုံးသည် opaque နှင့်တူသောပုံရိပ်တွင် gradient ကိုပွင့်လင်းမြင်သာသောအကျိုးသက်ရောက်မှုကိုမတင်ပြနိုင်ပါ။
၎င်းသည်ပြ a နာတစ်ခုဖြစ်စေသည်။ PHP ၏ impp ၏ impp ၏ impp ကို () function မှတဆင့်ပုံရိပ်ကိုသိမ်းဆည်းထားသည့်အခါ part တစ်ခုစီ၏ပွင့်လင်းမြင်သာမှုတန်ဖိုးများကိုသာကိုင်တွယ်နိုင်သည်။
IDECTGIF () function သည် palette-based image ကိုလည်ပတ်နေသည်။ GIF format ရှိပုံရိပ်များသည် palette-based ဖြစ်ပြီးအရောင်အညွှန်းကိန်းနှင့်သက်ဆိုင်သော pixel တစ်ခုစီနှင့် palette ရှိအရောင်များဖြင့်အရောင်များကိုသာအရောင် 256 အထိထောက်ပံ့နိုင်သည်။ ၎င်းသည် pixel တစ်ခုစီအတွက်အချို့သောအရောင်တစ်ခုဖြစ်ရန်ဖြစ်နိုင်ချေရှိသောအရောင်များကို part format ဖြင့် PNG format ဖြင့်မထိန်းချုပ်နိုင်ပါ။
IDECHGIF () မှပုံတစ်ပုံကိုသိမ်းဆည်းသောအခါ PHP သည်သတ်မှတ်ထားသောပွင့်လင်းမြင်သာသောအရောင်ပေါ်တွင်အခြေခံသည်။ ပုံတွင် gradients များသို့မဟုတ်ကွဲပြားခြားနားသောပွင့်လင်းမြင်သာမှုအဆင့်ဆင့်ရှိလျှင်, impendigif () သည် ဤအချက်အလက်ကိုမှန်ကန်စွာသိမ်းဆည်းလိမ့်မည်မဟုတ်ပါ။ ၎င်းသည်ကွဲပြားခြားနားသောပွင့်လင်းမြင်သာမှု pixels အားလုံးကို fixed transparency pixels ကိုပြောင်းလဲထားသောပွင့်လင်းမြင်သာသောအရောင်အဖြစ်ပြောင်းလဲပေးသည်။
GIF ၏ပွင့်လင်းမြင်သာမှုသည် "အပြည့်အဝပွင့်လင်းမြင်သာ" သို့မဟုတ် "အပြည့်အဝ opaque" ဖြစ်နိုင်သည်။ ဥပမာ PNG format သည် pixel တစ်ခုစီအတွက် pixel တစ်ခုစီအတွက် (0 မှ 255) ကွဲပြားခြားနားသောပွင့်လင်းမြင်သာမှုအဆင့်ကိုပြောင်းလဲနိုင်သည်
ImageGif () သည် ဤ "monochrome transparency" ယန္တရားကိုသာထောက်ပံ့သည်။ ဤနည်းပညာဆိုင်ရာကန့်သတ်ချက်သည် GIF format ၏ဒီဇိုင်းနှင့်သက်ဆိုင်သည် ။
alpha transparency ပါ 0 င်သောပုံများနှင့်သင်အလုပ်လုပ်ရန်လိုအပ်ပါက PNG သည် pixel တစ်ခုစီ၏ပွင့်လင်းမြင်သာမှုကိုတိကျသောထိန်းချုပ်မှုကိုခွင့်ပြုထားသောကြောင့်ဖြစ်သည်။
PHP တွင်သင်သည် alpha transparency ကိုထောက်ပံ့သော PNG ရုပ်ပုံများကိုသိမ်းဆည်းရန် empng () function ကိုသုံးနိုင်သည်။ ImagePng () သည် ကယ်တင်ခြင်းသို့ရောက်သောအခါ Transparency အထောက်အပံ့ကိုဖွင့်ပေးပြီးအရောင်အညွှန်းကိန်းပြောင်းလဲခြင်းမရှိဘဲပုံ၏မူလပွင့်လင်းမြင်သာမှုကိုထိန်းသိမ်းထားနိုင်သည်။
ဥပမာအားဖြင့်, imagepng () ကို ပွင့်လင်းမြင်သာမှုနှင့်အတူသိမ်းဆည်းရန်:
<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">200</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>);
</span><span><span class="hljs-comment">// ပွင့်လင်းမြင်သာမှုကိုဖွင့်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagesavealpha</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-variable">$transparent</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocatealpha</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-number">0</span></span><span>, </span><span><span class="hljs-number">127</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">$transparent</span></span><span>);
</span><span><span class="hljs-comment">// အကြောင်းအရာတစ်ခုပေါ်တွင်အကြောင်းအရာဆွဲပါ</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-string">'output.png'</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>
ဤဥပမာတွင် ImagesAvealpha () function ကို function သည် alpha channel support ကိုဖွင့်ပေးပြီး EmagecolorallocAlealpha () ကို အသုံးပြု. လုံးဝပွင့်လင်းမြင်သာသောနောက်ခံကိုဖန်တီးပေးသည်။
ImpactGIF () alpha ပွင့်လင်းမြင်သာမှုကိုမထောက်ပံ့နိုင်သည့်အကြောင်းရင်းမှာ GIF format ၏ဒီဇိုင်းသည်အကန့်အသတ်ရှိသောကြောင့် alpha transparency ကိုမထောက်ပံ့နိုင်ပါ။ GIF သည် MonoFromatic Transparency, i.e. ကိုပွင့်လင်းမြင်သာသောအရောင်အဖြစ်အသုံးပြုသည်။ အကယ်. သင်သည် gradient transparency သို့မဟုတ်တစ်စိတ်တစ်ပိုင်းပွင့်လင်းမြင်သာမှုရှိရန်ပုံများကိုလိုအပ်ပါက PNG Format ကိုသုံးရန်နှင့်အရည်အသွေးမြင့်ပွင့်လင်းမြင်သာမှုအထောက်အပံ့များအတွက်ပုံကိုသိမ်းဆည်းရန် Impress () function ကိုသုံးရန်အကြံပြုသည်။