ပုံများနှင့်အလုပ်လုပ်သောအခါတစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်ပုံရိပ်၏မမှန်မကန်တိမ်းညွတ်မှုဖြင့်ပြ problems နာများကြုံတွေ့ရသည်။ အထူးသဖြင့်စမတ်ဖုန်းနှင့်ဓာတ်ပုံရိုက်သည့်အခါရုပ်ပုံ၏ညွှန်ကြားချက်ကိုမကြာခဏဒေတာတွင်သိုလှောင်ထားလေ့ရှိသည်။ ပုံကိုမှန်ကန်စွာဖော်ပြရန်ကျွန်ုပ်တို့သည်ဤအချက်အလက်အပေါ် အခြေခံ. ပုံ၏တိမ်းညွတ်မှုကိုပြုပြင်ရန်လိုအပ်သည်။ Image Flip လည်ပတ်မှုများကိုကိုင်တွယ်ရန် PHP သည် Image Flip လုပ်ငန်းများကိုကိုင်တွယ်ရန် impflip function ကိုထောက်ပံ့ပေးသည် ။ ဤဆောင်းပါးသည်ပုံ၏လှန်ချက်ကိုဖြေရှင်းရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့ပေါင်းစပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
Exif (လဲလှယ်ပုံရိပ်ဖိုင် format ား format) သည်ပုံရိပ်ရိုက်ကူးမှုအခြေအနေများ, ကင်မရာချိန်ညှိချက်များနှင့်ပတ်သက်သည့်သတင်းအချက်အလက်အမျိုးမျိုးပါ 0 င ် သည့်ပုံရိပ်ဖိုင်၏အစိတ်အပိုင်းဖြစ်သည်။ orientation ၏တန်ဖိုးသည်ပုံမှန်ရိုက်ကူးရေးလမ်းကြောင်းနှင့်နှိုင်းယှဉ်ထားသောရုပ်ပုံ၏အလှည့်ထောင့်သို့မဟုတ်လှန်လှောသည်။
ဘုံ orientation တန်ဖိုးများကိုအောက်ပါအတိုင်းဖြစ်သည် -
1: ပုံမှန် (အလှည့်သို့မဟုတ်လှန်ခြင်းမရှိပါ)
3: 180 ဒီဂရီလှည့်
6: လက်ယာရစ် 90 ဒီဂရီလှည့်
8: 90 ဒီဂရီ counterclockwise လှည့်
2: ဒေါင်လိုက်လှန်
4: အလျားလိုက်လှန်
5: ဒေါင်လိုက်လက်ယာရစ်လက်ယာရစ်ကိုလှန်လှောကြည့်ပါ
7. အလျားလိုက်ကြည့်ရှုပြီး 90 ဒီဂရီလက်ယာရစ်ကိုလှည့်ပါ
ထို့ကြောင့်ကျွန်ုပ်တို့သည်ပုံကိုလှန်လှောကြည့်ရှုရန်လိုအပ်သည်နှင့်အ exif အချက်အလက်များရှိ orientation တန်ဖိုးကို အခြေခံ. လှန်လှောကြည့်ရှုခြင်းရှိမရှိကိုကျွန်ုပ်တို့ဆုံးဖြတ်နိုင်သည်။
Exif_read_Data function သည် impor file တွင် exif အချက်အလက်များကိုဖတ်နိုင်သည်။ ပုံ၏ညွှန်ကြားချက်ကိုဆုံးဖြတ်ရန်ကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်မှုမှတစ်ဆင့် onientation information ကိုရယူနိုင်သည်။
Exif အချက်အလက်များကိုဖတ်ရှုခြင်းအတွက်ဥပမာကုဒ်ဖြစ်သည်။
<?php
$file = 'path/to/your/image.jpg';
// ဖိုင်တည်ရှိရှိမရှိစစ်ဆေးပါ
if (file_exists($file)) {
// ဖတ်EXIFအချက်များ
$exif = exif_read_data($file);
// လှျင်EXIFအချက်များ包含Orientationလယ်ကွင်း
if (isset($exif['Orientation'])) {
echo 'Orientation: ' . $exif['Orientation'];
} else {
echo 'မတွေ့ပါOrientationလယ်ကွင်း';
}
}
?>
ဤကုဒ်သည် image file ထဲရှိ Exif ဒေတာများကိုဖတ်ပြီး Orientation Field ၏တန်ဖိုးကိုဖော်ပြထားသည်။ အကယ်. ဤကွက်လပ်သည် Exif ဒေတာတွင်မတည်ရှိပါက,
Impflip သည် PHP ရှိ GD စာကြည့်တိုက် function ကိုပုံများလှန်ရန်အသုံးပြုနိုင်သည်။ Exif Data တွင် Orientation တန်ဖိုးကို အခြေခံ. ImageFlip ကို မည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့ဆုံးဖြတ်နိုင်သည်။
imfif_read_data နှင့် imagefflip လုပ်ဆောင်ချက်များကိုပုံရိပ် orientation ကိုဖြေရှင်းရန် Exif_read_Data နှင့် Imageflip လုပ်ဆောင်ချက်များကိုပေါင်းစပ်ထားသောကုဒ်အပြည့်အစုံဥပမာတစ်ခုဖြစ်သည်။
<?php
function fixImageOrientation($file) {
// ဖိုင်တည်ရှိရှိမရှိစစ်ဆေးပါ
if (file_exists($file)) {
// ပုံကိုရယူပါEXIFအချက်များ
$exif = exif_read_data($file);
// လှျင်EXIFအချက်များ包含Orientationလယ်ကွင်း
if (isset($exif['Orientation'])) {
// ရယူOrientation၏တန်ဖိုး
$orientation = $exif['Orientation'];
// ဓာတ်ပုံများတင်နေသည်
$image = imagecreatefromjpeg($file);
// အရOrientationရုပ်ပုံ orientation ကို fix ရန်တန်ဖိုး
switch ($orientation) {
case 3:
// လှည့်180ဒီဂရီ
imageflip($image, IMG_FLIP_BOTH);
break;
case 6:
// 顺时针လှည့်90ဒီဂရီ
$image = imagerotate($image, -90, 0);
break;
case 8:
// 逆时针လှည့်90ဒီဂရီ
$image = imagerotate($image, 90, 0);
break;
case 2:
// ဒေါင်လိုက်လှန်
imageflip($image, IMG_FLIP_VERTICAL);
break;
case 4:
// အလျားလိုက်လှန်
imageflip($image, IMG_FLIP_HORIZONTAL);
break;
case 5:
// ဒေါင်လိုက်လှန်并လှည့်90ဒီဂရီ顺时针
imageflip($image, IMG_FLIP_VERTICAL);
$image = imagerotate($image, -90, 0);
break;
case 7:
// အလျားလိုက်လှန်并လှည့်90ဒီဂရီ顺时针
imageflip($image, IMG_FLIP_HORIZONTAL);
$image = imagerotate($image, -90, 0);
break;
default:
// ပြုပြင်မလိုအပ်ပါ
break;
}
// ပြုပြင်ထားသောပုံကိုသိမ်းဆည်းပါ
imagejpeg($image, 'path/to/save/fixed_image.jpg');
// အခမဲ့ပုံရိပ်မှတ်ဉာဏ်
imagedestroy($image);
echo "ပုံရိပ် ဦး တည်ချက်ကိုအောင်မြင်စွာပြန်လည်ပြုပြင်သည်!";
} else {
echo "မဟုတ်Orientationလယ်ကွင်း,ပြုပြင်မလိုအပ်ပါ图片方向。";
}
} else {
echo "ပုံရိပ်ဖိုင်မရှိပါ。";
}
}
// ပုံကို ဦး တည်ရန် function ကိုခေါ်ခြင်း
fixImageOrientation('path/to/your/image.jpg');
?>
ဤကုဒ်တွင် exif_read_data function မှတစ်ဆင့်ပုံ၏ exif အချက်အလက်များကိုပထမ ဦး ဆုံးဖတ်ပါ ။ ထို့နောက်ဤတန်ဖိုးကိုအပေါ် အခြေခံ. ပုံရိပ်၏တိမ်းညွတ်မှုကိုပြန်လည်ပြုပြင်ရန် Impflip နှင့် ImageFerotate ကို မည်သို့အသုံးပြုရမည်ကိုဆုံးဖြတ်ပါ။ ပုံသေပုံရိပ်ကိုသတ်မှတ်ထားသောလမ်းကြောင်းသို့သိမ်းဆည်းလိမ့်မည်။