ตรวจสอบความละเอียดหน้าจอด้วย Python

การตรวจสอบความละเอียดหน้าจอคอมพิวเตอร์ด้วยภาษา 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