Я пытаюсь заставить Raspberry Pi 3B + показывать прямые трансляции с 3 камер, используя экран, чтобы получить несколько экземпляров omxplayer для выполнения на нужных мне позициях. Это работает точно так, как и ожидалось.
Проблема сейчас в том, что я хочу получить изображение c в последнем месте на экране. Для этого я хотел использовать pygame, чтобы позже я мог получать больше удовольствия в этой области, и, возможно, не только иметь изображение.
Теперь проблема в том, как расположено изображение:
https://imgur.com/mUQ38vV (изображение того же размера, что и видеопотоки, и я ожидал, что оно будет в правом нижнем углу монитора, с тонкой черной линией к каналу сверху и справа от него )
Я ожидал, что белый квадрат будет находиться непосредственно под верхним левым каналом видео, но есть большие черные границы.
Код Python, который я использую для показа изображения, выглядит следующим образом:
import time
import pygame
transform_x = 958 #648 #how wide to scale the jpg when replaying
transfrom_y = 539 #how high to scale the jpg when replaying
offset_x = 0 #how far off to left corner to display photos
offset_y = 540 #how far off to left corner to display photos
try:
pygame.init()
info = pygame.display.Info() # You have to call this before pygame.display.set_mode()
screen_width,screen_height = info.current_w,info.current_h
window_width,window_height = screen_width,screen_height
screen = pygame.display.set_mode((window_width, window_height))
#screen = pygame.display.set_mode((0,0))
pygame.mouse.set_visible(False) #hide the mouse cursor
filename = "image.png"
img=pygame.image.load(filename)
#img = pygame.transform.scale(img,(transform_x,transfrom_y))
screen.blit(img,(offset_x,offset_y))
pygame.display.flip() # update the display
time.sleep(30) # pause
finally:
pygame.quit()
Я пробовал с pygame.FULLSCREEN
и другими режимами, но ни один из них не смог бы go до самого края монитора.
Чтобы показать изображение, которое я использовал, это команда:
sudo screen -dmS pic sh -c 'python pic.py'
Может кто-нибудь помочь мне выяснить, что я здесь делаю неправильно?