Какой самый простой способ отобразить полноэкранное изображение в python без рамки? - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь отобразить изображение с таким же разрешением, что и у моего экрана (1920x1080) таким образом, чтобы каждый пиксель в изображении соответствовал ровно одному пикселю на экране, то есть в полноэкранном режиме и без рамки.

Я перепробовал все распространенные опции от tkinter и opencv до matplotlib. В tkinter и opencv я смог получить «полноэкранное» изображение, но не смог избавиться от границы в 1 или 2 пикселя, что привело к тому, что изображение было немного растянуто, что побеждало цель.

Альтернативным решением было бы получить точные размеры окна в пикселях, чтобы немного обрезать изображение, чтобы восстановить отображение 1: 1 между пикселями, что я тоже не смог сделать (я попытался использовать matplotlib и opencv).

Вот что я пытался использовать opencv:

import numpy as np
import cv2

# insert height and width of your monitor here
dim = (1080, 1920)
# generate an image the size of the monitor with black and white vertical
# one pixel wide stripes
img = np.fromfunction(lambda i, j: i % 2, dim)

# show image in "fullscreen"
cv2.namedWindow("window", cv2.WND_PROP_FULLSCREEN)
cv2.setWindowProperty("window", cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
cv2.imshow("window", img)
cv2.waitKey()

Полученное изображение должно выглядеть равномерно серым. С этой реализацией (и аналогичными другими) изображение визуально окантовано, потому что оно слегка сжато.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...