လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Transparent အရိပ်နှင့်စာသားပုံများကိုလုပ်ပါ

Transparent အရိပ်နှင့်စာသားပုံများကိုလုပ်ပါ

M66 2025-05-18

ဝက်ဘ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်တခါတရံတွင်ကျွန်ုပ်တို့သည်စာသားများ, ခေါင်းစဉ်များ, ကံကောင်းထောက်မစွာပင် PHP ၏ GD စာကြည့်တိုက်သည် isoncolorallocatealpha () function ကိုပွင့်လင်းမြင်သာစွာဖြင့်အရောင်များကိုဆွဲဆောင်ရန်လွယ်ကူစေရန်ကူညီသည်။

ဤဆောင်းပါးသည် Transparent Dadow Effect နှင့်စာသားပုံရိပ်ကိုဖန်တီးရန် imagecolorallocatealpha () function ကိုမည်သို့အသုံးပြုရမည်ကိုတစ်ဆင့်ဖြည့်ဆည်းပေးရမည်။

အဆင့် 1: ပတ်တူဖန်တီးပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည်ပုံရိပ်ပတ်တူတစ်ခုကိုဖန်တီးရန်လိုအပ်သည်။ ဤနေရာတွင်ကျွန်ုပ်တို့သည်စစ်မှန်သောအရောင်ပုံရိပ်ကိုဖန်တီးရန် imagecreatetuecolor () function ကိုအသုံးပြုသည်။

 <?php
// ကျယ်ပြန့်ဖန်တီးပါ 400px,မြင့်သော 100px ရွက်တည်ကား
$width = 400;
$height = 100;
$image = imagecreatetruecolor($width, $height);

// နောက်ခံအရောင်ကိုသတ်မှတ်ပါ(အဖြူ)
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

အဆင့် 2 - ပွင့်လင်းမြင်သာသောလိုင်းများကိုဖွင့်ပါ

PNG ပုံရိပ်၏ပွင့်လင်းမြင်သာသောအစိတ်အပိုင်းများကိုမှန်ကန်စွာပြသရန်အတွက်ကျွန်ုပ်တို့သည် Blending Mode ကိုပိတ်ရန်နှင့် Save Alpha Channel ကိုဖွင့်ရန်လိုအပ်သည်။

 // ရောနှော mode ကိုပိတ်ပါ
imagealphablending($image, false);
// စွမ်းဆောင်နိုင်စေ alpha သိုထား
imagesavealpha($image, true);

အဆင့် 3 - ပွင့်လင်းမြင်သာမှုနှင့်အရိပ်အရောင်ကိုသတ်မှတ်ပါ

isionecolorallocatealpha () function ကို၏ parameters များ (လုံးဝမအောင်မြင်) မှ 127 (လုံးဝပွင့်လင်းမြင်သာ) မှ 127 (လုံးဝပွင့်လင်းမြင်သာ) ၏ပုံရိပ်, အနီရောင်, အစိမ်းရောင်, အပြာ ,

ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်အနက်ရောင်စူပါအရိပ်တစ်ခုသတ်မှတ်သည်။

 // Black Translucent Shadows ကိုသတ်မှတ်ပါ
$shadow_color = imagecolorallocatealpha($image, 0, 0, 0, 60);

မှတ်ချက် - 60 ဒီနေရာမှာ Semi-Transparent သက်ရောက်မှုများအကြောင်းကိုဆိုလိုသည်။

အဆင့် 4: အရိပ်များနှင့်စာသားကိုဆွဲပါ

ကျွန်ုပ်တို့သည်စာသားဆွဲရန် Igeettttext () function ကိုအသုံးပြုသည်။

 // Font ဖိုင်လမ်းကြောင်း(ကျေးဇူးပြု. အမှန်တကယ်အခြေအနေနှင့်အညီချိန်ညှိပါ)
$font = __DIR__ . '/arial.ttf';
$text = 'Hello, m66.net!';
$font_size = 24;

// အရိပ်ကိုဆွဲပါ(အနည်းငယ် pixel အနည်းငယ် offset)
imagettftext($image, $font_size, 0, 22, 62, $shadow_color, $font, $text);

// အဓိကစာသားဆွဲပါ(မဲသော)
$text_color = imagecolorallocate($image, 0, 0, 0);
imagettftext($image, $font_size, 0, 20, 60, $text_color, $font, $text);

အဆင့် 5. ပုံရိပ်ကိုထုတ်လွှင့်ပြီးမှတ်ဉာဏ်သန့်ရှင်းရေး

နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်ဓာတ်ပုံကို PNG format နှင့်ထုတ်လွှင့်ပြီးအရင်းအမြစ်များကိုအခမဲ့အခမဲ့ဖြစ်သည်။

 // တည်ဆောက်သည် header
header('Content-Type: image/png');
// output ကိုပုံ
imagepng($image);
// မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်
imagedestroy($image);
?>

နမူနာကုဒ်အပြည့်အစုံ

 <?php
$width = 400;
$height = 100;
$image = imagecreatetruecolor($width, $height);

$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

imagealphablending($image, false);
imagesavealpha($image, true);

$shadow_color = imagecolorallocatealpha($image, 0, 0, 0, 60);
$text_color = imagecolorallocate($image, 0, 0, 0);

$font = __DIR__ . '/arial.ttf';
$text = 'Hello, m66.net!';
$font_size = 24;

imagettftext($image, $font_size, 0, 22, 62, $shadow_color, $font, $text);
imagettftext($image, $font_size, 0, 20, 60, $text_color, $font, $text);

header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>

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

  1. font file <br> အထက်ပါကုဒ်သည် font.ttf font file ကိုအသုံးပြုသည်။ ကျေးဇူးပြု. font file သည် script ည့်သည်တည်ရှိသည့်လမ်းညွှန်တွင်တည်ရှိပြီးသင်၏ဆာဗာပေါ်ရှိအခြားဖောင့်လမ်းကြောင်းသို့ပြုပြင်မွမ်းမံရန်သေချာစေပါ။

  2. Transparency ညှိနှိုင်းမှု
    Alpha Parameters တွေကိုလိုအပ်သလိုချိန်ညှိနိုင်ပါတယ်။ သင်ပိုမိုပွင့်လင်းမြင်သာမှုရှိလိုပါကပိုမိုကြီးမားသောတန်ဖိုးကိုသုံးနိုင်သည် (127 နီးပါးနီးပါး); သင်ပိုမိုရှင်းလင်းလိုပါကသင်သည်သေးငယ်သောတန်ဖိုးကိုသုံးနိုင်သည်။

  3. ဖြန့်ကျက်အကြံပြုချက်များ <br> <br> ဖြန့်ကျက်နေသည့်အခါဆာဗာ၏ PHP Configuration တွင် GD စာကြည့်တိုက်ကိုဖွင့်ထားကြောင်းသေချာအောင်လုပ်ပါ။