การตรวจสอบความละเอียดหน้าจอคอมพิวเตอร์ด้วยภาษา Python สามารถทำได้โดยใช้เมธอด get_monitors ของไลบรารี screeninfo ซึ่งเราต้องทำการติดตั้งไลบรารีตัวนี้ก่อน โดยใช้คำสั่ง pip install screeninfo

เมื่อติดตั้งไลบรารี screeninfo เรียบร้อยแล้ว ในการเขียนโปรแกรม เราต้องทำการอิมพอร์ตเมธอด get_monitors เข้ามาก่อน หลังจากนั้นเราจะสามารถเรียกใช้งานเมธอด get_monitors() ได้ ซึ่งเมธอดนี้จะคืนค่ากลับมาเป็นรายการข้อมูลของจอทุกจอที่ต่ออยู่กับเครื่องคอมพิวเตอร์ของเรา ตัวอย่างข้อมูลที่ได้จะเป็นประมาณนี้
from screeninfo import get_monitors
print(get_monitors())- บรรทัดที่ 1 อิมพอร์ตเมธอด
get_monitorsของไลบรารีscreeninfo - บรรทัดที่ 2 ทดลองแสดงผลลัพธ์ที่ได้จากเมธอด
get_monitors()
[Monitor(x=0, y=0, width=1920, height=1080, width_mm=344, height_mm=194, name=’\\.\DISPLAY1′, is_primary=True), Monitor(x=1920, y=0, width=1920, height=1080, width_mm=480, height_mm=270, name=’\\.\DISPLAY5′, is_primary=False)]
จากข้อมูลตัวอย่างด้านบน ผมมีจอที่เชื่อมอยู่กับคอมพิวเตอร์จำนวน 2 จอด้วยกัน
ถ้าต้องการให้แสดงผลข้อมูลเฉพาะของจอใดจอหนึ่ง เราสามารถระบุอินเด็กซ์เพื่อระบุหน้าจอที่ต้องการ โดยอินเด็กซ์แรกเริ่มจาก 0 ดังนี้ get_monitors()[0]
from screeninfo import get_monitors
print(get_monitors()[0])ผลลัพธ์
Monitor(x=0, y=0, width=1920, height=1080, width_mm=344, height_mm=194, name=’\\.\DISPLAY1′, is_primary=True)
จะเห็นได้ว่า ข้อมูลที่ได้เริ่มเฉพาะเจาะจงแล้ว คือได้เฉพาะข้อมูลของจอแรก
ทีนี้เราลองมาเขียนโค้ดดึงขนาดความกว้างและความสูงของจอออกมาดูกัน (ที่จริงตามผลลัพธ์ด้านบนก็ดูได้แล้วนะครับ)
โดยเราสามารถใช้พร๊อพเพอร์ตี้ width เพื่อเรียกดูความกว้างของจอ และใช้พร็อพเพอร์ตี้ height เพื่อเรียกดูความสูงของจอได้
from screeninfo import get_monitors
screen_width = get_monitors()[0].width
screen_height = get_monitors()[0].height
print("----ข้อมูลจอ----")
print("กว้าง : %s pixels \nสูง : %s pixels" % (screen_width, screen_height))ผลลัพธ์
—-ข้อมูลจอ—-
กว้าง : 1920 pixels
สูง : 1080 pixels
