လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP Image processing tutorial: GD စာကြည့်တိုက်နှင့် imagemgick လက်တွေ့ကျသောကျွမ်းကျင်မှုများကိုခွဲခြမ်းစိတ်ဖြာခြင်း

PHP Image processing tutorial: GD စာကြည့်တိုက်နှင့် imagemgick လက်တွေ့ကျသောကျွမ်းကျင်မှုများကိုခွဲခြမ်းစိတ်ဖြာခြင်း

M66 2025-07-10

PHP တွင်ရုပ်ပုံဒေတာအမျိုးအစားများကိုမည်သို့စီမံခန့်ခွဲရမည်နည်း

Image processing သည် Web Development တွင်အလွန်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ ၎င်းသည်စိစစ်အတည်ပြုထားသောကုဒ်များကိုဖြစ်ပေါ်စေခြင်း, PHP ပတ် 0 န်းကျင်တွင်ဤလုပ်ငန်းများကို GD စာကြည့်တိုက်နှင့် imagemagick စာကြည့်တိုက်များမှတဆင့်ပြီးမြောက်နိုင်သည်။

GD စာကြည့်တိုက်ကိုအသုံးပြုခြင်း

GD စာကြည့်တိုက်သည် PHP တွင်ပါ 0 င်သော Image Processing Library စာကြည့်တိုက်တစ်ခုဖြစ်ပြီး Image Data ကိုစီမံခန့်ခွဲရန်နှင့်စီမံခန့်ခွဲရန်ကြွယ်ဝသောလုပ်ဆောင်ချက်များကိုပေးသည်။ ဤတွင်အချို့သောဘုံစစ်ဆင်ရေးဥပမာအချို့ကိုကြည့်ရှုပါ။

အလွတ်တစ်ခုဖန်တီးပါ

 $width = 400;  // ပုံ၏ width
$height = 200; // ပုံ၏အမြင့်

$image = imagecreatetruecolor($width, $height);  // အလွတ်တစ်ခုဖန်တီးပါ

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

header('Content-type: image/png');  // တည်ဆောက်သည်HTTPheader output ကိုဖြစ်ပါတယ်PNGပုံ
imagepng($image);  // output ကိုပုံ
imagedestroy($image);  // ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီး

ဓာတ်ပုံများကိုတင်နှင့်သိမ်းဆည်းခြင်း

 $sourceFile = 'source.jpg';  // အရင်းအမြစ်ပုံရိပ်ဖိုင်အမည်
$destinationFile = 'destination.png';  // ပစ်မှတ်ပုံဖိုင်အမည်

$sourceImage = imagecreatefromjpeg($sourceFile);  // loading အရင်းအမြစ်ပုံရိပ်
$imageWidth = imagesx($sourceImage);  // image width ကိုရယူပါ
$imageHeight = imagesy($sourceImage);  // image အမြင့်ကိုရယူပါ

$destinationImage = imagecreatetruecolor($imageWidth, $imageHeight);  // ပစ်မှတ်ပုံရိပ်တစ်ခုဖန်တီးပါ


header('Content-type: image/png');  // တည်ဆောက်သည်HTTPheader output ကိုဖြစ်ပါတယ်PNGပုံ
imagepng($destinationImage, $destinationFile);  // ပစ်မှတ်ပုံရိပ်ကိုသိမ်းဆည်းပါ
imagedestroy($sourceImage);  // Source image အရင်းအမြစ်များကိုဖျက်ဆီးခြင်း
imagedestroy($destinationImage);  // ပစ်မှတ်ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ပါ

သီးနှံနှင့် zoom ပုံများ

 $sourceFile = 'source.jpg';  // အရင်းအမြစ်ပုံရိပ်ဖိုင်အမည်
$destinationFile = 'destination.jpg';  // ပစ်မှတ်ပုံဖိုင်အမည်
$destinationWidth = 300;  // ပစ်မှတ်ပုံအကျယ်
$destinationHeight = 200;  // ပစ်မှတ်ပုံအမြင့်

$sourceImage = imagecreatefromjpeg($sourceFile);  // loading အရင်းအမြစ်ပုံရိပ်
$sourceWidth = imagesx($sourceImage);  // အရင်းအမြစ်ပုံကိုအကျယ်ရယူပါ
$sourceHeight = imagesy($sourceImage);  // အရင်းအမြစ်ပုံရိပ်အမြင့်ကိုရယူပါ

$destinationImage = imagecreatetruecolor($destinationWidth, $destinationHeight);  // ပစ်မှတ်ပုံရိပ်တစ်ခုဖန်တီးပါ

imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $destinationWidth, $destinationHeight, $sourceWidth, $sourceHeight);  // ပုံရိပ်ကိုပစ်မှတ်ပုံရိပ်သို့ချဲ့ပါ

header('Content-type: image/jpeg');  // တည်ဆောက်သည်HTTPheader output ကိုဖြစ်ပါတယ်JPEGပုံ
imagejpeg($destinationImage, $destinationFile);  // ပစ်မှတ်ပုံရိပ်ကိုသိမ်းဆည်းပါ
imagedestroy($sourceImage);  // Source image အရင်းအမြစ်များကိုဖျက်ဆီးခြင်း
imagedestroy($destinationImage);  // ပစ်မှတ်ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ပါ

Imagemagick စာကြည့်တိုက်ကိုအသုံးပြုခြင်း

GD စာကြည့်တိုက်အပြင် PHP သည် Imageemagick စာကြည့်တိုက်ကိုပုံရိပ်ထုတ်ပေးရန်အတွက်လည်းအသုံးပြုနိုင်သည်။ Imagemagick သည်ပုံရိပ်များတွင်ရှုပ်ထွေးသောလုပ်ငန်းများအတွက်ပိုမိုအစွမ်းထက်ပြီးသင့်တော်သည်။ ရိုးရှင်းတဲ့ဥပမာတစ်ခုပါ။

 $sourceFile = 'source.jpg';  // အရင်းအမြစ်ပုံရိပ်ဖိုင်အမည်
$destinationFile = 'destination.jpg';  // ပစ်မှတ်ပုံဖိုင်အမည်
$destinationWidth = 300;  // ပစ်မှတ်ပုံအကျယ်
$destinationHeight = 200;  // ပစ်မှတ်ပုံအမြင့်

$imagick = new Imagick($sourceFile);  // loading အရင်းအမြစ်ပုံရိပ်
$sourceWidth = $imagick->getImageWidth();  // အရင်းအမြစ်ပုံကိုအကျယ်ရယူပါ
$sourceHeight = $imagick->getImageHeight();  // အရင်းအမြစ်ပုံရိပ်အမြင့်ကိုရယူပါ

$imagick->cropThumbnailImage($destinationWidth, $destinationHeight);  // ပစ်မှတ်အရွယ်အစားသို့အရင်းအမြစ်ပုံရိပ်ကိုစကေး
$imagick->writeImage($destinationFile);  // ပစ်မှတ်ပုံရိပ်ကိုသိမ်းဆည်းပါ
$imagick->destroy();  // ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီး

အထက်ပါဥပမာသည်ပုံများကိုပြောင်းလွယ်ပြင်လွယ်စေရန် PHP တွင် GD စာကြည့်တိုက်နှင့် imagemgick စာကြည့်တိုက်စာကြည့်တိုက်စာကြည့်တိုက်နှင့် imagemgick စာကြည့်တိုက်ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည်။ ရုပ်ပုံအသစ်များ, 0 ယ်ခြင်းနှင့်သိမ်းဆည်းခြင်း, သိမ်းဆည်းခြင်း, ကူးယူခြင်း, စီမံကိန်း၏အမှန်တကယ်အခြေအနေအရဖွံ့ဖြိုးတိုးတက်မှုအတွက်သင့်လျော်သောစာကြည့်တိုက်ကိုသာရွေးချယ်ပါ။