PHP တွင် processing images များသည်အထူးသဖြင့်ပုံရိပ်အပြောင်းအလဲများလိုအပ်သည့် 0 ဘ်အပလီကေးရှင်းများတွင်ဖြစ်သည်။ PHP သည်ပုံရိပ်များလည်ပတ်မှုနှင့်ပြုပြင်ခြင်းနှင့်ပြုပြင်ခြင်းကိုအကောင်အထည်ဖော်ရန်အတွက်ပုံရိပ်များနှင့်ရုပ်ပုံများကိုထိန်းချုပ်ရန်ပုံရိပ်များကိုကိုင်တွယ်ဖြေရှင်းနိုင်သည့် ပုံရိပ်များကို ထိန်းချုပ်ရန်နှင့် isionecreatstring ၏လုပ်ဆောင်မှုနှစ်ခုကိုပိုမိုပေါင်းစပ်ညှိနှိုင်းနိုင်ကြောင်းမိတ်ဆက်ပေးလိမ့်မည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်ချက်နှစ်ခု၏အခြေခံအသုံးပြုမှုကိုနားလည်ရန်လိုအပ်သည်။
imagecreatrechrophromstring : ဒီ function က string တစ်ခုကနေပုံရိပ်အရင်းအမြစ်တစ်ခုဖန်တီးနိုင်ပါတယ်။ များသောအားဖြင့် Image Data ကိုဒေတာဘေ့စ်သို့မဟုတ်ဖိုင်တစ်ခုမှတင်သောအခါရုပ်ပုံများသည် binary string ပုံစံဖြင့်တည်ရှိသည်။ ဤလုပ်ဆောင်ချက်သည်ဤကြိုးများကိုထပ်မံလုပ်ဆောင်မှုများအတွက်ပုံရိပ်အရင်းအမြစ်များအဖြစ်သို့ပြောင်းလဲရန်ခွင့်ပြုသည်။
ImageFlip : ဒီ function ကိုပုံရိပ်လှန်ဖို့အသုံးပြုသည်။ အလျားလိုက်လှန်လှောင်ပြောင်ခြင်းသို့မဟုတ်ဒေါင်လိုက်လှန်ခြင်းကဲ့သို့သောကွဲပြားခြားနားသောခြေဖဝါးအမျိုးအစားများကိုကျွန်ုပ်တို့သတ်မှတ်နိုင်သည်။ အသုံးပြုသူများကတင်ထားသောပုံရိပ်များကိုထုတ်ဖော်ပြောဆိုသောအခါအထူးသဖြင့်လှန်သောအကျိုးသက်ရောက်မှုများကိုအသုံးပြုခြင်းကဲ့သို့သော dynamon implication processing လုပ်ငန်းများအတွက်ဤအင်္ဂါရပ်သည်အလွန်အသုံးဝင်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်ပုံကို isagecreatchromstring မှတဆင့် load လုပ်ပါသည်။ အသုံးပြုသူသည်ပုံတစ်ပုံကိုတင်လိုက်သည်ဆိုပါစို့သို့မဟုတ်ဒေတာဘေ့စ်မှရုပ်ပုံအကြောင်းအရာကိုရရှိခဲ့သည်ဆိုပါစို့။ ဤအချက်မှာကျွန်ုပ်တို့ဤလုပ်ဆောင်မှုမှတစ်ဆင့်ပုံရိပ်ကိုပုံရိပ်အရင်းအမြစ်အဖြစ်တင်နိုင်သည်။
$imageData = file_get_contents('https://gitbox.net/images/sample.jpg'); // Binary Image Data ကိုရယူပါ
$image = imagecreatefromstring($imageData); // binary data ကို image အရင်းအမြစ်များသို့ပြောင်းပါ
if (!$image) {
die('Image Loading မအောင်မြင်ပါ');
}
အထက်ပါကုဒ်များတွင်ပုံရိပ် binary data ကိုသတ်မှတ်ထားသော URL မှရရန် file_get_contontents function ကိုအသုံးပြုသည် ။ အကယ်. ဝန်ပျက်ကွက်ပါကကျွန်ုပ်တို့သည်ပရိုဂရမ်ကို သေဆုံးသည့် function မှတဆင့်ရပ်စဲ။ ချက်ချင်းပေးပါ။
ထို့နောက် imageflip function ကိုသုံးပါ။ Imageflip function တွင် flip options သုံးခုရှိသည်။
img_flip_horizontal : အလျားလိုက်လှန်
img_flip_vertical : ဒေါင်လိုက်လှန်
img_flip_both : အလျားလိုက်နှင့်ဒေါင်လိုက်လှန်လှောင်ပြောင်ကိုတစ်ပြိုင်နက်တည်းလုပ်ဆောင်ပါ
အောက်ဖော်ပြပါကုဒ်သည်ပုံတစ်ပုံကိုအလျားလိုက်လှန်လှောကြည့်ရမည်ကိုပြသသည်။
if (imageflip($image, IMG_FLIP_HORIZONTAL)) {
echo 'Image Horizontal ကိုအောင်မြင်စွာလှန်လိုက်ပါ';
} else {
echo 'Image Horizontal Flip မအောင်မြင်ပါ';
}
ဒီကုဒ်သည်ပုံကိုအောင်မြင်စွာလှန်လိုက်လျှင်စစ်ဆေးသည်။ အောင်မြင်လျှင်သက်ဆိုင်ရာသတင်းစကားကိုကျွန်ုပ်တို့ထုတ်လွှင့်သည်။
ပုံရိပ်ကိုပြုပြင်ပြီးနောက်ရလဒ်ကို browser သို့တိုက်ရိုက်ထုတ်ယူနိုင်သော်လည်းဖိုင်စနစ်သို့သိမ်းဆည်းနိုင်သည်။ ပုံရိပ်ကို browser တစ်ခုသို့တင်ရန်ကုဒ်ဥပမာတစ်ခုမှာ -
header('Content-Type: image/jpeg'); // output image အမျိုးအစားကိုသတ်မှတ်ပါ
imagejpeg($image); // output ကိုပုံ
imagedestroy($image); // ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီး
Response Header ကို header မှတဆင့် header မှတဆင့် header မှတဆင့်သတ်မှတ်ထားသည့်အကြောင်းအရာသည် JPEG image ဖြစ်သည့် JPEG ပုံရိပ်တစ်ခုဖြစ်ပြီးပုံရိပ်ထုတ်ရန် imagejpeg ကို သုံးပါ။
ရုပ်ပုံများအပြင် browser ကို output လုပ်ခြင်းအပြင်, လုပ်ငန်းများ၌ရုပ်ပုံများကိုဆာဗာ၏ဖိုင်စနစ်သို့လည်းသိမ်းဆည်းနိုင်သည်။
if (imagejpeg($image, 'path/to/save/image.jpg')) {
echo 'ပုံရိပ်ကိုအောင်မြင်စွာသိမ်းဆည်းပါ';
} else {
echo 'ပုံချွေတာခြင်းမအောင်မြင်ပါ';
}
အထက်ပါအဆင့်များကိုပေါင်းစပ်ပြီး ရုပ်ပုံများ ကိုဖတ်ရန်နှင့်လှန်ရန် ပုံများကို မည်သို့ပေါင်းစပ်ရမည်ကိုပြသသော PHP script တစ်ခုဖြစ်သည်။
<?php
$imageData = file_get_contents('https://gitbox.net/images/sample.jpg'); // Binary Image Data ကိုရယူပါ
$image = imagecreatefromstring($imageData); // binary data ကို image အရင်းအမြစ်များသို့ပြောင်းပါ
if (!$image) {
die('Image Loading မအောင်မြင်ပါ');
}
// ပုံကိုအလျားလိုက်လှန်လိုက်ပါ
if (imageflip($image, IMG_FLIP_HORIZONTAL)) {
echo 'Image Horizontal ကိုအောင်မြင်စွာလှန်လိုက်ပါ';
} else {
echo 'Image Horizontal Flip မအောင်မြင်ပါ';
}
// output ကိုပုံ
header('Content-Type: image/jpeg'); // output image အမျိုးအစားကိုသတ်မှတ်ပါ
imagejpeg($image); // output ကိုပုံ
// ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီး
imagedestroy($image);
?>
Imagecreatststromrophststring and imageflip function များကိုပေါင်းစပ်ခြင်းအားဖြင့်ပုံများကိုအလွန်ပြောင်းလွယ်ပြင်လွယ်များကိုလည်းအလွန်ပြောင်းလွယ်ပြင်လွယ်များကိုကိုင်တွယ်နိုင်သည်။ ဤနည်းစနစ်သည်ပုံရိပ်ပြုပြင်ခြင်း, ရုပ်ပုံများကို အသုံးပြု. အသုံးပြုသူများမှတင်ထားသောပုံရိပ်များစသဖြင့်ကြည့်ရှုခြင်းစသည့်အခြေအနေများတွင်အလွန်အသုံးဝင်သည်။ ဤလုပ်ဆောင်မှုများကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ရုပ်ပုံများအပေါ်တက်ကြွသောစစ်ဆင်ရေးများကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။