#python #image #python-imaging-library
#python #изображение #python-imaging-library
Вопрос:
Я создаю игру на python и показываю изображение. Я бы использовал pygame, но эффекты, которые я создаю, не будут использоваться в pygame. Я просмотрел его и использовал pillow, потому что для него требуется наименьшее количество кода. Открыть vc выглядело немного сложно.
from PIL import Image
import subprocess
p = subprocess.Popen('python imviewer.py')
img = Image.open(r'C:UsersgudipAyush_codes_and_programs_in_pythonNinjagostriking_rabbit.png')
img.show()
time.sleep(1.25)
p.kill()
import time
from playsound import playsound
from os import system, name
from PIL import Image
import subprocess
p = subprocess.Popen('python imviewer.py')
level = 0
story = False
game_over = False
save_game = False
ninja_name = ''
game1 = True
def intro(ninja_name):
print("Garmadon! What is he up to now?")
time.sleep(1)
print("Jay, does it matter? Whatever he's doing, it's going to help conquer ninjago")
time.sleep(1)
print("Duh, Cole. But how can we stop it?")
time.sleep(1)
print("Guys, guys. Calm down. We'll need as many ninja as we can get to stop Garmadon")
time.sleep(1)
print("See Cole! You DON'T need to know what he's doing")
time.sleep(1)
print("Hey! I said that!")
time.sleep(1)
print("Hey, is that a ninja right there?")
time.sleep(1)
print("Yeah, you. Whats your name?")
ninja = input("Which ninja do you want to play as? [K]ai, [C]ole, [Z]ane, [L]loyd, or [J]ay? ")
if ninja in 'k':
print("Ok Kai. Start your mission!")
ninja_name = 'Kai'
training(ninja_name)
elif ninja in 'c':
print("Ok Cole. Start your mission!")
ninja_name = 'Cole'
training(ninja_name)
elif ninja in 'z':
print("Ok Zane. Start your mission!")
ninja_name = 'Zane'
training(ninja_name)
elif ninja in 'l':
print("Ok Lloyd. Start your mission!")
ninja_name = 'Lloyd'
training(ninja_name)
elif ninja in 'j':
print("Ok Jay. Start your mission!")
ninja_name = 'Jay'
training(ninja_name)
else:
print(f'''
{ninja} is not a valid option.
Please enter either k for kai, c for cole, z for zane, l for lloyd, and j for jay.
Please know, Nya doesn't know her elemental powers yet, and your elemental power is required to play the game.
This is why nya is not a legible character.''')
intro()
def training(ninja_name):
print(f"Ok. You all know the drill. I'm going to teach {ninja_name.title()} how things work around here.")
time.sleep(1.5)
print("Together : Ok master Wu!")
time.sleep(1.5)
print("Ok. First, you need to train. Let's learn the art of the striking rabbit.")
time.sleep(0.1)
playsound(r'C:UsersgudipAyush_codes_and_programs_in_pythonNinjagoaudio.mp3')
img = Image.open(r'C:UsersgudipAyush_codes_and_programs_in_pythonNinjagostriking_rabbit.png')
img.show()
time.sleep(1.25)
p.kill()
intro(ninja_name)
Вот где мой код. Я не знаю, куда поместить код openvc, как кто-то предложил здесь.
Комментарии:
1. Вам следует заглянуть в opencv. Для этой задачи можно использовать waitKey() и destroyAllWindows()
2. Это было бы относительно легко сделать с
tkinter
помощью модуля, хотя вам пришлось бы написать несколько строк кода…
Ответ №1:
Вы можете сделать это с помощью OpenCV. waitKey
ожидает нажатия клавиши, но также имеет тайм-аут в миллисекундах. Вот код:
import cv2
image = cv2.imread("test.png")
cv2.imshow("Window", image)
cv2.waitKey(1250)
cv2.destroyAllWindows()
Вот руководство по установке opencv.
Вы также можете использовать Tkinter
. Вот код:
import tkinter as tk
from PIL import ImageTk, Image
root = tk.Tk()
img = ImageTk.PhotoImage(Image.open("test.png"))
label = tk.Label(root, image = img).pack()
root.after(1250, lambda: root.destroy())
root.mainloop()
Комментарии:
1. Я не знаю этого интерфейса.
waitKey(1250)
Ждать 1,5 секунды? Есть ли хороший способ узнать, как масштабировать секунды до значения ключа ожидания?2. Клавиша ожидания находится в миллисекундах, у операции было 1,25 секунды, так что это будет 1250 миллисекунд
3. О, я видел 1,5 секунды в названии.
4. Итак,
time.sleep(1.5)
если вы не хотите, чтобы изображение можно было прерывать?5. Я почти уверен, что вам нужно
waitkey
для отображения изображения