လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> screenshots များကို empng နှင့်အတူ PNG ဖိုင်များအဖြစ်သိမ်းဆည်းနည်း

screenshots များကို empng နှင့်အတူ PNG ဖိုင်များအဖြစ်သိမ်းဆည်းနည်း

gitbox 2025-06-06

PHP တွင်စခရင်ရိုက်ကူးမှုလုပ်ငန်းများသည်များသောအားဖြင့် built-in functions များနှင့် Windows 'API သို့မဟုတ်ပြင်ပ extensions များ၏အကူအညီလိုအပ်သည်။ ImageGrabWindow သည် PHP (Windows ပလက်ဖောင်းအောက်ရှိ GDI + experate လုပ်ခြင်းလုပ်ဆောင်ချက်) ၏လုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ImagePng လုပ်ဆောင်ချက်နှင့်အတူပေါင်းစပ်ထားသောဖန်သားပြင်များကို PNG format ဖြင့် PNG format ဖြင့်သင်အဆင်ပြေစွာသိမ်းဆည်းနိုင်သည်။

အောက်ဖော်ပြပါ, ကျွန်ုပ်တို့သည် ပုံရိပ်ဘ 0 ကို အကောင်အထည်ဖော်ရန်မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်မိတ်ဆက်ပေးပြီး PNG ရုပ်ပုံများအဖြစ်သိမ်းဆည်းရန်နှင့်၎င်းတို့ကို PNG ပုံရိပ်များအဖြစ်သိမ်းဆည်းရမည်ကိုအသေးစိတ်မိတ်ဆက်ပေးပါမည်။


1 ။ နိဒါန်း

  • ImageGrabWindow ($ လက်ကိုင်, $ client_area = false)
    ဒီ function ကိုသတ်မှတ်ထားသော 0 င်းဒိုး၏ဖန်သားပြင်များကိုဖမ်းရန်အသုံးပြုသည်။

    • $ လက်ကိုင် သည် 0 င်းဒိုး၏လက်ကိုင် (HWND) ဖြစ်သည်။

    • $ client_area optional parameter, ပုံမှန်အားဖြင့်ပြတင်းပေါက်တစ်ခုလုံးကို crawls ။ အကယ်. မှန်ကန် ရန်သတ်မှတ်ထားပါက 0 င်းဒိုး၏ client ရိယာကိုသာတွားသွားနိုင်သည်။

  • ImagePng ($ Image, $ filename = null, full, $ filter, null, $ fulls = null)
    GD image အရင်းအမြစ်များကို PNG format ဖြင့်ဖိုင်သို့မဟုတ် output သို့သိမ်းဆည်းပါ။

    • $ Image သည် ImageGrabWindow မှပြန်လာသောပုံရိပ်အရင်းအမြစ်ဖြစ်သည်။

    • $ filename သည်သိမ်းဆည်းထားသောဖိုင်လမ်းကြောင်းဖြစ်ပြီးချန်လှပ်ပါက၎င်းသည် browser ကိုတိုက်ရိုက်ထုတ်လွှင့်လိမ့်မည်။

    • $ အရည်အသွေး PNG Compression အဆင့်, 0-9 ။


2 ။ 0 င်းဒိုးလက်ကိုင်ကိုရယူပါ

စခရင်ရိုက်ကူးမီသင်ကလက်ကိုင် (HWND) ကိုပစ်မှတ် 0 င်းဒိုး၏လက်ကိုင်ကိုရယူရန်လိုအပ်သည်။ ၎င်းသည်များသောအားဖြင့် ရှာဖွေရေး ကဲ့သို့သော Windows ၏ API လုပ်ဆောင်ချက်များကိုအသုံးပြုသည်။

Notepad 0 င်းဒိုးလက်ကိုင်ကိုရယူရန်ဥပမာ -

 <?php
// Notepad Window လက်ကိုင်ကိုရယူပါ
$hwnd = FindWindow(null, "Untitled - Notepad");
if (!$hwnd) {
    die("ပြတင်းပေါက်ရှာမတွေ့ပါ!");
}
?>

မှတ်စု: အထက်ပါကုဒ်ကို PHP extensions ၏အကူအညီဖြင့် (ထိုကဲ့သို့သော Win32 API extensions) ၏အကူအညီဖြင့်ကွပ်မျက်ရန်လိုအပ်သည်။


3 ။ ပုံရိပ်ပြါစက်ကိုသုံးပြီး PNG ကိုသိမ်းပါ။

ကျွန်ုပ်တို့ 0 င်းဒိုးလက်ကိုင် $ HWND ကို ရရှိသည်ဆိုပါစို့

 <?php
// ယူဆချက်$hwndမှန်ကန်စွာရရှိခဲ့သည်
$image = imagegrabwindow($hwnd, true);  // client ရိယာသာသာတွား
if (!$image) {
    die("Screenshot မအောင်မြင်ပါ!");
}

// အဖြစ်သိမ်းဆည်းပါPNGစာချုပ်စာတမ်း,စာချုပ်စာတမ်း路径为当前目录下的screenshot.png
$imagePath = "screenshot.png";
if (imagepng($image, $imagePath)) {
    echo "Screenshot အောင်မြင်သော,ကယ်တင်ခြင်းသို့ရောက်သည် {$imagePath}";
} else {
    echo "保存Screenshot မအောင်မြင်ပါ!";
}

// ပုံရိပ်အရင်းအမြစ်များကိုလွှတ်ပါ
imagedestroy($image);
?>

4 ။ မှတ်စုများ

  • ဤအင်္ ဂါ ရပ်ကို Windows ပလက်ဖောင်းအောက်ရှိ PHP ပတ် 0 န်းကျင်တွင်သာရနိုင်သည်။ ဒီ function ကို linux သို့မဟုတ် macos အပေါ်မထောက်ပံ့ပါ။

  • PHP_GD2 နှင့် php_win322222 သို့မဟုတ်အခြားဆက်စပ်သော Windows extensions များ) သည်ဤအင်္ဂါရပ်ကိုခေါ်ရန်လိုအပ်သည်။

  • ပစ်မှတ် 0 င်းဒိုးတည်ရှိပြီးမြင်ရမည်။ သို့မဟုတ်ပါကပုံကိုဖမ်းယူမရနိုင်ပါ။

  • ကွန်ယက်တောင်းဆိုမှုများတွင်ပါ 0 င်ပါက 0 က်ဘ်စာမျက်နှာများရှိ URLs များအတွက် ကျေးဇူးပြု. Gitbox.net နှင့်အတူဒိုမိန်းအမည်အပိုင်းကိုအစားထိုးပါ။ (ဤဥပမာတွင်ထိုကဲ့သို့သောလိုအပ်ချက်မရှိပါ)


5 ။ အကျဉ်းချုပ်

importgrabwindow မှတဆင့်သတ်မှတ်ထားသော 0 င်းဒိုး၏ screenshots များကိုရယူပါ။ ထို့နောက်ရိုးရှင်းသော screenshot function များကိုလျင်မြန်စွာဖြည့်ဆည်းရန် Windows တွင် Php developer များအနေဖြင့် PHP developer များအဆင်ပြေစေရန် screenshots များကို screenshots များ အနေဖြင့်အသုံးပြုပါ။