Images များပြုပြင်သည့်အခါအထူးသဖြင့်အသုတ်ပုံရိပ်ပြုပြင်ခြင်းအခြေအနေတွင်အထူးသဖြင့်အသုတ်ပုံရိပ်တွင်ဖော်ပြရန်တောင်းဆိုမှုများ (အလျားလိုက်သို့မဟုတ်ဒေါင်လိုက်) ပုံများ PHP သည် server-side ဘာသာစကားဖြင့်ဖြစ်သော်လည်း၎င်းသည်ဤလုပ်ဆောင်မှုကို၎င်း၏ built-in ပုံရိပ်ထုတ်ယူခြင်းစာကြည့်တိုက်မှတစ်ဆင့်အလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဤဆောင်းပါးသည် PHP script ကိုအဘိတ်ကိုမည်သို့ရေးသားရမည်ကိုသွန်သင်ပေးမည်,
သင်၏ဆာဗာပတ် 0 န်းကျင်သည် GD စာကြည့်တိုက်ကိုသေချာအောင်လုပ်ပါ။ ၎င်းကိုအောက်ပါနည်းလမ်းများဖြင့်စစ်ဆေးနိုင်သည်။
<?php
phpinfo();
?>
ဤ script ကို browser (browser တွင်ဝင်ရောက်ကြည့်ရှုပြီးနောက် GD အထောက်အပံ့ကို ရှာဖွေပါ။ ၎င်းကိုဖွင့်ထားလျှင်,
ကျွန်ုပ်တို့သည်အောက်ပါအဆင့်များကိုဖြည့်စွက်ရန်လိုအပ်သည် -
ပုံများပါ 0 င်သည့်အရင်းအမြစ်လမ်းညွှန်ကိုသတ်မှတ်သည်။
directory ထဲတွင် image files အားလုံးကို traverse;
GD စာကြည့်တိုက်ကို အသုံးပြု. ပုံတစ်ခုစီကိုတင်ပါ။
ပုံ (အလျားလိုက်သို့မဟုတ်ဒေါင်လိုက်) လှန်လှော;
ပစ်မှတ်လမ်းညွှန်သို့ flipped ပုံကိုသိမ်းဆည်းပါ။
ဤတွင်ပြည့်စုံသောဥပမာ script တစ်ခုမှာ -
<?php
$sourceDir = __DIR__ . '/images/originals';
$targetDir = __DIR__ . '/images/flipped';
// ပစ်မှတ်လမ်းညွှန်တစ်ခုဖန်တီးပါ(ဒါမတည်ရှိပါက)
if (!file_exists($targetDir)) {
mkdir($targetDir, 0755, true);
}
// Supported ပုံအမျိုးအစားများ
$allowedExtensions = ['jpg', 'jpeg', 'png', 'gif'];
// ဖိုင်များကိုအရင်းအမြစ်လမ်းညွှန်တွင်စကင်ဖတ်ပါ
$files = scandir($sourceDir);
foreach ($files as $file) {
$filePath = $sourceDir . '/' . $file;
// ခုန်ကျော်သည် . နှင့် ..
if (in_array($file, ['.', '..'])) {
continue;
}
// ဖိုင် extension ကိုရယူပါ
$extension = strtolower(pathinfo($file, PATHINFO_EXTENSION));
// image မဟုတ်သောဖိုင်များကို filter လုပ်ပါ
if (!in_array($extension, $allowedExtensions)) {
continue;
}
// ပုံကိုတင်ခြင်း
switch ($extension) {
case 'jpg':
case 'jpeg':
$image = imagecreatefromjpeg($filePath);
break;
case 'png':
$image = imagecreatefrompng($filePath);
break;
case 'gif':
$image = imagecreatefromgif($filePath);
break;
default:
continue 2;
}
// ပုံရိပ်အရွယ်အစားကိုရယူပါ
$width = imagesx($image);
$height = imagesy($image);
// အချည်းနှီးသောပတ်တူဖန်တီးပါ
$flipped = imagecreatetruecolor($width, $height);
// ပုံကိုအလျားလိုက်လှန်လိုက်ပါ
for ($x = 0; $x < $width; $x++) {
imagecopy($flipped, $image, $width - $x - 1, 0, $x, 0, 1, $height);
}
// ပုံအသစ်များသိမ်းဆည်းပါ
$targetPath = $targetDir . '/' . $file;
switch ($extension) {
case 'jpg':
case 'jpeg':
imagejpeg($flipped, $targetPath);
break;
case 'png':
imagepng($flipped, $targetPath);
break;
case 'gif':
imagegif($flipped, $targetPath);
break;
}
// မှတ်ဉာဏ်သန့်ရှင်းရေး
imagedestroy($image);
imagedestroy($flipped);
echo "ပြုပြင်ထားသောပုံများ:$file\n";
}
echo "အသုတ်လှန်ပြီးစီးခဲ့သည်。သွားရန် flipped ပုံသို့သွားရောက်ပါ:http://m66.net/images/flipped/";
?>
Directory Permissions များကိုမှန်ကန်စွာသတ်မှတ်ထားပြီး PHP လုပ်ငန်းသည်ပစ်မှတ်လမ်းညွှန်သို့ဝင်ရောက်ရန်ခွင့်ပြုချက်ရှိကြောင်းသေချာစေပါ။
အကယ် . သင်သည်ဒေါင်လိုက်လှန်လှောကြည့်လိုပါက Flip Logic ကိုသာပြုပြင်ပါ။
ပွင့်လင်းမြင်သာသော PNG သို့မဟုတ် GIF ပုံများအတွက်ပွင့်လင်းမြင်သာသောပွင့်လင်းသောအပြောင်းအလဲနဲ့ယုတ္တိဗေဒလိုအပ်နိုင်ပါသည်။
ဤဆောင်းပါးတွင်ဖော်ပြထားသော PHP scripts များမှတဆင့်သင်သည် Batch Image Flip လုပ်ငန်းများကိုလျင်မြန်စွာအကောင်အထည်ဖော်နိုင်သည်။ ရုပ်ပုံများ, အလိုအလျောက်ပြုပြင်ခြင်းသို့မဟုတ်အွန်လိုင်းရုပ်ပုံကိရိယာများဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာအသုတ်အမျိုးအစားများ, အကယ်. သင်သည်ဤ script ကိုဝက်ဘ်ဆိုက်ထဲသို့ထည့်သွင်းရန်စီစဉ်ထားပါကလုပ်ဆောင်ချက်များကိုပိုမိုပြီးပြည့်စုံစေရန်ရိုးရှင်းသောသုံးစွဲသူမျက်နှာပြင်သို့မဟုတ်ဖိုင်တင်ခြင်းယုတ္တိဗေဒကိုထည့်ရန်မမေ့ပါနှင့်။