Raspberry Pi не показывает Pygame с экраном, как ожидалось - PullRequest
0 голосов
/ 05 января 2020

Я пытаюсь заставить 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'

Может кто-нибудь помочь мне выяснить, что я здесь делаю неправильно?

1 Ответ

0 голосов
/ 05 января 2020

Так что я все исправил ...

Я должен был закомментировать disable_overscan=1 в /boot/config.txt ...

Я не думал об этом, потому что omxplayer был на позиции, которые я ожидал, будут ..

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