2013-03-11 49 views
5

Tôi đang sử dụng java để lấy kích thước và độ phân giải của màn hình. Khi tôi chạy đoạn mã sau, tôi nhận được kết quả dưới đây.Bộ công cụ Java Độ phân giải màn hình độ phân giải

Toolkit toolkit = Toolkit.getDefaultToolkit(); 
Dimension dim = toolkit.getScreenSize(); 
System.out.println("Width of Screen Size is "+dim.width+" pixels"); 
System.out.println("Height of Screen Size is "+dim.height+" pixels");  
int resolution =Toolkit.getDefaultToolkit().getScreenResolution(); 
System.out.println(resolution); 

đầu ra:

Width of Screen Size is 1920 pixels 
Height of Screen Size is 1080 pixels 
120 

Bây giờ Javadoc nói rằng getScreenResolution trả về độ phân giải trong dpi (dots per inch). Tôi lấy điều đó để có nghĩa là nếu tôi có một hình ảnh rộng 600px mà nó sẽ là 5 inch trên màn hình của tôi. Khi tôi đo, nó thực sự rộng 4 inch. Chỉ cho tôi rằng nó phải là 150 dpi.

Màn hình của tôi là màn hình 15,6 "và tôi đo chiều rộng màn hình là 13,6 inch và cao hơn 7,6". Chiều rộng màn hình của tôi rõ ràng là 1920 pixel, tính bằng 141 pixel mỗi inch. 1080/7,6 tính đến khoảng 141 pixel mỗi inch.

This web page hiển thị hình ảnh 600x600px. Tôi đo nó trên màn hình của tôi là 4,25 "tính 141 pixel.

Tại sao getScreenResolution trở lại 120?

Vui lòng cho tôi biết nếu tôi nhầm lẫn với bất kỳ điều nào trong số này.

+3

getScreenResolution không thể tin cậy vì nó là thứ gì đó giữa hệ điều hành, trình điều khiển và hiệu chuẩn người dùng. Dù bạn làm gì, nó cũng không phải là thứ đáng tin cậy. Kiểm tra các liên kết sau: http://stackoverflow.com/questions/6544510/how-to-get-the-screen-dpi-in-java http://stackoverflow.com/questions/4707756/how-to- đúng-phát hiện-dpi-of-display-với-java –

Trả lời

0

Toolkit.getDefaultToolkit().getScreenResolution() cố gắng lấy độ phân giải, nhưng tùy thuộc vào độ chính xác của trình điều khiển và điều khác (như không phải tất cả kết nối giữa thẻ video và màn hình đều không có khả năng phản hồi về kích thước). .

Các vấn đề liên quan