Изображение из Pygame остается на экране после убийства - PullRequest
0 голосов
/ 06 января 2020

У меня есть некоторый код python, чтобы показывать изображения разных позиций и размеров, но после убийства сценария изображение остается на экране.

После python код используется для получения изображения для показа

import time, pygame, sys, signal, os

# sudo python pic.py 0 540 958 539 /home/pi/img.jpg

offset_width = int(sys.argv[1]) #0 how far off to left corner to display photos
offset_height = int(sys.argv[2]) #540 how far off to left corner to display photos

pic_width = int(sys.argv[3])-offset_width #958 #how wide to scale the jpg when replaying
pic_height = int(sys.argv[4])-offset_height #539 how high to scale the jpg when replaying

running = True

def receiveSignal(signalNumber, frame):
    global running
    running = False
    print('Received:', signalNumber)
    return

try:
    pygame.init()

    screen = pygame.display.set_mode((0, 0))

    pygame.mouse.set_visible(False) #hide the mouse cursor  
    filename = sys.argv[5]
    img=pygame.image.load(filename)
    img = pygame.transform.scale(img, (pic_width, pic_height)) # Image size width/height
    screen.blit(img, (offset_width,offset_height))

    Rectangle1 = pygame.Rect(offset_width, offset_height, pic_width, pic_height)
    pygame.display.update(Rectangle1)

    while running:
        pygame.time.wait(3000)
        pygame.display.update(Rectangle1)
finally:
    pygame.quit()

И в основном коде python я запускаю файл изображения (pi c .py) в фоновом режиме

os.system("python {basepath}pic.py {x1} {y1} {x2} {y2} {source} &".format(x1=config['layout'][pos]['x1'], y1=config['layout'][pos]['y1'], x2=config['layout'][pos]['x2'], y2=config['layout'][pos]['y2'], source=config['content'][pos]['source'], id=pos, basepath=basepath))

Это заставляет изображение отображаться, как и ожидалось, и тогда моей целью было сделать так, чтобы код python убивал сам себя и удалял картинку с экрана, когда я посылаю ему сигнал 10. (ps aux | grep -i pic.py | awk '{print $2}' | xargs sudo kill -10)

Это делает код python в pi c .py выйти, но изображение останется на экране впоследствии.

Нужно ли выходить другим способом или открыть файл изображения другим способом?

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