Cố gắng viết ứng dụng python tải xuống hình ảnh từ nguồn cấp dữ liệu RSS và tạo nền hỗn hợp. Làm cách nào để tôi nhận được độ phân giải màn hình hiện tại trên Mac OS X (báo?)Làm thế nào để có được độ phân giải máy tính để bàn trong Mac thông qua Python?
Trả lời
Với Pyobjc một cái gì đó như thế này sẽ hoạt động. Pyobjc đi kèm với Leopard.
from AppKit import NSScreen
print(NSScreen.mainScreen().frame())
Với điều đó, bạn cũng có thể lấy chiều rộng và chiều cao.
NSScreen.mainScreen().frame().size.width
NSScreen.mainScreen().frame().size.height
Ví dụ:
print("Current screen resolution: %dx%d" % (NSScreen.mainScreen().frame().size.width, NSScreen.mainScreen().frame().size.height))
Vâng, pyobjc là một cái gì đó khá. Và đó là trên mọi mac kể từ Leopard. Và hãy nhớ khi thực sự sử dụng này rất nhiều người dùng mac có nhiều hơn thì một màn hình. Vì vậy, tài khoản cho rằng khi cần thiết. Xem tài liệu của Apple trên NSScreen để biết thêm thông tin. –
Như thường lệ, việc sử dụng các tính năng được liên kết với hệ điều hành là một ý tưởng rất tồi. Có hàng trăm thư viện di động trong Python cung cấp cho bạn quyền truy cập vào thông tin đó. Là người đầu tiên mà nói đến cái tâm của tôi là tất nhiên pygame:
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640,480), FULLSCREEN)
x, y = screen.get_size()
Nhưng tôi đoán cacao làm chỉ là tốt, và do wxPython hoặc qt là bạn của bạn. Tôi cho rằng trên Windows bạn đã làm một cái gì đó như thế này:
from win32api import GetSystemMetrics
width = GetSystemMetrics [0]
height = GetSystemMetrics [1]
Chắc chắn nó dễ dàng hơn, nhưng sẽ không hoạt động trên Mac, Linux, BSD, Solaris, và có lẽ cũng không phải phiên bản cửa sổ sau này.
Nếu bạn đang làm điều này từ một kịch bản LaunchAgent, bạn có thể cần phải thả xuống CoreGraphics nguyên thủy chứ không phải là phương pháp AppKit cấp. Làm việc ngày hôm nay, kịch bản lệnh LaunchAgent-load của tôi được None
quay lại từ NSScreen.mainScreen()
, nhưng hoạt động tốt nếu tôi tải nó từ một thiết bị đầu cuối trong phiên của tôi.
from Quartz import CGDisplayBounds
from Quartz import CGMainDisplayID
def screen_size():
mainMonitor = CGDisplayBounds(CGMainDisplayID())
return (mainMonitor.size.width, mainMonitor.size.height)
Tôi gặp khó khăn trong việc thực hiện bất kỳ thao tác nào trong số này để tôi nhìn xung quanh và đặt một thứ gì đó với nhau có vẻ hoạt động. Tôi kinda mới tại mã hóa vì vậy xin vui lòng tha thứ bất kỳ lỗi nào. Nếu bạn có bất kỳ suy nghĩ xin vui lòng bình luận.
results = str(subprocess.Popen(['system_profiler SPDisplaysDataType'],stdout=subprocess.PIPE, shell=True).communicate()[0])
res = re.search('Resolution: \d* x \d*', results).group(0).split(' ')
width, height = res[1], res[3]
return width, height
- 1. Cách di động trong C++ để có độ phân giải máy tính để bàn
- 2. Ứng dụng Máy tính để bàn Python
- 3. Làm thế nào để triển khai một ứng dụng máy tính để bàn Python?
- 4. Làm thế nào để tôi có được độ phân giải có thể sử dụng thực
- 5. Làm thế nào để bạn có được đường dẫn đến máy tính để bàn người dùng trong XCode?
- 6. Máy tính để bàn tạo cửa sổ máy tính để bàn?
- 7. MVC4 Ủy quyền thuộc tính; làm thế nào để có được thông qua trong vai trò?
- 8. Làm thế nào để cài đặt la bàn trong mac?
- 9. Làm thế nào để xử lý bàn phím trong chế độ thực thông qua các ngắt BIOS?
- 10. Có cách nào để tạo quy tắc CSS chỉ dành cho máy tính để bàn không?
- 11. Python trong Phát triển ứng dụng máy tính để bàn
- 12. Làm thế nào để có được độ phân giải màn hình màn hình từ hWnd?
- 13. làm thế nào để có được độ phân giải màn hình của người dùng với PHP
- 14. Phân phối các ứng dụng máy tính để bàn Ruby/Python
- 15. Giảm độ phân giải của mảng thông qua tổng
- 16. Làm thế nào để chuyển tệp giữa hai máy tính được kết nối trong python?
- 17. MVC và Swing trong ứng dụng máy tính để bàn
- 18. Làm cách nào để tạo ứng dụng máy tính để bàn di động python?
- 19. Làm thế nào để kiểm tra loại máy? máy tính xách tay hoặc máy tính để bàn?
- 20. Làm cách nào để đặt độ phân giải cao hơn trên ứng dụng gốc Flex trên máy tính để bàn (Air)?
- 21. Làm thế nào để bạn nghe thông báo từ iTunes trên máy Mac (Sử dụng NSDistributedNotificationCenter)
- 22. Làm thế nào để có được địa chỉ MAC của máy client trong C# và vb.net
- 23. Làm thế nào để có được một cái chuông trực quan trong vim trên máy Mac?
- 24. Làm cách nào để nhận được độ phân giải máy quay video được hỗ trợ trong Android?
- 25. Làm cách nào để có được tên miền đầy đủ của máy tính trong Python?
- 26. Làm thế nào tôi có thể nhận được độ phân giải màn hình bằng java?
- 27. Mac OS X - chạy tập lệnh shell từ giao diện máy tính để bàn
- 28. Cách định vị lại máy tính để bàn mac trong ca cao
- 29. OpenGL | ES trên máy tính để bàn
- 30. Làm thế nào tôi có thể từ xa máy tính để bàn đến một máy Windows từ một máy Linux?
đó là vì bạn sử dụng các tính năng của cửa sổ để thực hiện công cụ thay vì lib nền tảng chéo. Bạn đang tự nhốt mình vào một cái bẫy. Đối với thao tác hình ảnh, hãy sử dụng PIL. –
Alan: kiểm tra điều này: http://developer.apple.com/graphicsimaging/pythonandquartz.html –