Làm thế nào để bạn hiển thị văn bản trên màn hình trong python?

Bây giờ chúng tôi đã có chuyển động và ranh giới, chúng tôi cần một số cách để thông báo cho người chơi của chúng tôi rằng họ đã 'ngớ ngẩn'. Chỉ cần thoát khỏi trò chơi là khá khắc nghiệt đối với người chơi của chúng tôi. Thay vào đó, những gì chúng tôi muốn làm là có một số loại màn hình "trò chơi kết thúc". Để làm điều này, chúng ta cần hiển thị một số văn bản lên màn hình

Mã mới của chúng tôi là như sau

import pygame
import time

pygame.init()

display_width = 800
display_height = 600

black = (0,0,0)
white = (255,255,255)
red = (255,0,0)

car_width = 73

gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('A bit Racey')
clock = pygame.time.Clock()

carImg = pygame.image.load('racecar.png')

def car(x,y):
    gameDisplay.blit(carImg,(x,y))

def text_objects(text, font):
    textSurface = font.render(text, True, black)
    return textSurface, textSurface.get_rect()

def message_display(text):
    largeText = pygame.font.Font('freesansbold.ttf',115)
    TextSurf, TextRect = text_objects(text, largeText)
    TextRect.center = ((display_width/2),(display_height/2))
    gameDisplay.blit(TextSurf, TextRect)

    pygame.display.update()

    time.sleep(2)

    game_loop()
    
    

def crash():
    message_display('You Crashed')
    
def game_loop():
    x = (display_width * 0.45)
    y = (display_height * 0.8)

    x_change = 0

    gameExit = False

    while not gameExit:

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    x_change = -5
                if event.key == pygame.K_RIGHT:
                    x_change = 5

            if event.type == pygame.KEYUP:
                if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                    x_change = 0

        x += x_change

        gameDisplay.fill(white)
        car(x,y)

        if x > display_width - car_width or x < 0:
            crash()
            
        
        pygame.display.update()
        clock.tick(60)

game_loop()
pygame.quit()
quit()

Vì vậy, những thay đổi chính là một số chức năng mới, nhưng tất cả chúng đều tập trung vào dòng này từ vòng lặp chính của chúng tôi

         if x > display_width - car_width or x < 0:
            crash()

Chúng tôi muốn có thể có một số cách xử lý cụ thể đối với người dùng của chúng tôi gặp sự cố thay vì chỉ gộp chung với một lối thoát. Vì vậy, chúng tôi biết rằng chúng tôi muốn có thể thực hiện sự cố, vì vậy chúng tôi chỉ cần thực hiện chức năng sự cố

Vì vậy, sau đó chúng tôi xem xét tình huống lý tưởng nhất để chúng tôi tạo ra sự cố là gì

def crash():
    message_display('You Crashed')

Vì chúng tôi có thể muốn làm cho sự cố phức tạp hơn trong tương lai, nên chúng tôi tạo một chức năng cụ thể, nhưng hiện tại, chúng tôi chỉ muốn sử dụng chức năng message_display. Thật tệ là nó không tồn tại. Tuy nhiên, chúng tôi có thể thấy nó có thể hữu ích như thế nào, vì vậy chúng tôi sẽ tạo một

def message_display(text):
    largeText = pygame.font.Font('freesansbold.ttf',115)
    TextSurf, TextRect = text_objects(text, largeText)
    TextRect.center = ((display_width/2),(display_height/2))
    gameDisplay.blit(TextSurf, TextRect)
    pygame.display.update()
    time.sleep(2)
    game_loop()

Vì vậy, có chức năng hiển thị thông báo của chúng tôi, chúng tôi xác định văn bản lớn, sau đó chúng tôi xác định văn bản và hình chữ nhật bao quanh nó. Sau đó, chúng tôi căn giữa văn bản, sử dụng các biến chiều rộng và chiều cao của chúng tôi (món quà không ngừng tặng. chỉ cần tưởng tượng quyết định bạn muốn thay đổi kích thước ngay bây giờ?). Sau đó, chúng tôi đưa nội dung này lên bề mặt, hãy nhớ rằng điều này chỉ vẽ nó ở chế độ nền và chúng tôi cần gọi "pygame. trưng bày. cập nhật(). "

Đủ dễ dàng, sau khi hiển thị thông báo, chúng tôi quay lại vòng lặp trò chơi, bất kể điều gì xảy ra. Trong nhận thức muộn màng, tôi nghĩ rằng sự lựa chọn tốt nhất cho lệnh gọi hàm game_loop() thực sự sẽ nằm trong hàm sự cố của chúng tôi, sau khi gọi message_display. Nó hợp lý hơn nhiều, vì tất cả các thông báo bạn có thể muốn hiển thị sẽ không dẫn đến việc khởi động lại trò chơi. Tôi khuyên bạn nên làm điều đó thay vì cách hiển thị trong mã ở đây và video, tôi chỉ mới nhận thấy điều này khi tôi viết bài này một lúc sau khi viết và quay phim

Cuối cùng, chúng tôi nhận ra rằng, trời ạ, text_objects vẫn chưa tồn tại. Cuối cùng hãy làm cái đó

def text_objects(text, font):
    textSurface = font.render(text, True, black)
    return textSurface, textSurface.get_rect()

Điều thú vị duy nhất chúng tôi đang làm ở đây là sử dụng. get_rect() để lấy hình chữ nhật hơi vô hình, vì vậy chúng tôi có thể tham chiếu nó và căn giữa văn bản

Với bài viết này, chúng ta sẽ xem xét một số ví dụ về cách giải quyết vấn đề Python Read Text On Screen

import numpy as np
import cv2
from PIL import ImageGrab as ig
import pytesseract 
from pytesseract import Output
pytesseract.pytesseract.tesseract_cmd = r'Path to your tesseract-OCR'
def screencap():
    while(True):
        screen = np.array(ig.grab(bbox=(x_co1,y_co1,x_co2,y_co2)))
        gray = cv2.cvtColor(screen,cv2.COLOR_RGB2GRAY)
        cv2.imshow("test", gray)
        if cv2.waitKey(25) & 0xFF == ord('e'):
            cv2.destroyAllWindows()
            break
image_data = pytesseract.image_to_string(screencap())
print(image_data)
#Not sure how to edit the code from here. Only sees the screen but does not output your answer.

Dưới đây, bạn sẽ tìm thấy một số ví dụ về các cách khác nhau để giải quyết vấn đề Python Read Text On Screen

# Search for python OCR

Python Read Text On Screen đã được giải quyết bằng một số tình huống, như chúng ta đã thấy

Làm cách nào để hiển thị văn bản trên màn hình bằng Python?

Trong python, câu lệnh print dùng để hiển thị văn bản. Trong python với câu lệnh in, bạn có thể sử dụng Dấu ngoặc đơn (') hoặc Dấu ngoặc kép ("). 06-Feb-2020

Làm cách nào để sử dụng OCR trong Python?

Tạo tệp âm thanh (Chuyển văn bản thành âm thanh) gTTS là Thư viện Python với API chuyển văn bản thành giọng nói của Google Dịch. Để cài đặt, thực hiện lệnh “pip install gtts” trong dấu nhắc lệnh. Đọc hình ảnh bằng cv2. imread() và lấy văn bản từ hình ảnh bằng pytesseract và lưu trữ nó trong một biến. 24-Jun-2021

Làm cách nào để sử dụng Tesseract để đọc văn bản từ hình ảnh?

Tạo tập lệnh tesseract Python Tạo thư mục dự án và thêm chính mới. py bên trong thư mục đó. Sau khi ứng dụng cấp quyền truy cập vào tệp PDF, nội dung của nó sẽ được trích xuất dưới dạng hình ảnh. Những hình ảnh này sau đó sẽ được xử lý để trích xuất văn bản. 18-Apr-2022

Làm cách nào để chụp ảnh màn hình trong python?

Cách chụp ảnh màn hình bằng Python

  • Bước 1. Cài đặt gói pyautogui. Để bắt đầu, bạn cần cài đặt gói pyautogui bằng lệnh sau (trong Windows). cài đặt pip pyautogui
  • Bước 2. Chụp đường dẫn lưu ảnh chụp màn hình
  • Bước 3. Chụp ảnh màn hình bằng Python

Làm thế nào để bạn in đầu ra văn bản bằng Python?

Hàm print() của Python nhận bất kỳ số lượng tham số nào và in chúng ra trên một dòng văn bản. Mỗi mục được chuyển đổi thành dạng văn bản, được phân tách bằng dấu cách và có một ký tự '\n' duy nhất ở cuối (ký tự "dòng mới"). Khi được gọi với tham số bằng 0, print() chỉ in '\n' và không có gì khác

Làm thế nào để bạn lặp lại văn bản trong Python?

Khác với PHP, ngôn ngữ lập trình Python không có chức năng "echo" tạo chuỗi thông tin đầu ra. Thay vào đó, Python sử dụng một câu lệnh tương tự khác gọi là "print" để tạo ra hiệu ứng tương tự

OCR nào là tốt nhất trong Python?

Pytesseract hoặc Python-tesseract là một công cụ OCR dành cho trăn cũng đóng vai trò là trình bao bọc cho Công cụ Tesseract-OCR. Nó có thể đọc và nhận dạng văn bản trong hình ảnh và thường được sử dụng trong hình ảnh python ocr cho các trường hợp sử dụng văn bản. 09-Aug-2022

Tesseract có miễn phí không?

Tesseract là một công cụ nhận dạng ký tự quang học cho các hệ điều hành khác nhau. Đây là phần mềm miễn phí, được phát hành theo Giấy phép Apache

Làm cách nào để đọc văn bản từ một hình ảnh?

Cách đọc văn bản từ hình ảnh bằng Trình đọc văn bản hình ảnh của Google

  • Mở ổ đĩa trang web. Google. com
  • Tải tệp lên Google Drive để bạn có thể chuyển đổi dễ dàng
  • Nhấp chuột phải vào tệp của bạn rồi nhấp vào "Mở bằng" > "Google Tài liệu"
  • Google Image Text Reader sẽ chuyển đổi tệp thành Google Docs và bạn có thể đọc nó

OpenCV có thể đọc văn bản từ hình ảnh không?

Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng các đường viền để phát hiện văn bản trong một hình ảnh và lưu nó vào một tệp văn bản. Gói OpenCV được sử dụng để đọc ảnh và thực hiện các kỹ thuật xử lý ảnh nhất định. Python-tesseract là một trình bao bọc cho Công cụ Tesseract-OCR của Google được sử dụng để nhận dạng văn bản từ hình ảnh. 16-Tháng 9-2021

Lệnh nào được sử dụng trong Python để hiển thị thông báo trên màn hình?

Sử dụng phân phối. các lệnh trong Python™ để hiển thị các biểu mẫu và thông báo tùy chỉnh cho người dùng.

Lệnh nào tạo đầu ra văn bản trong Python?

In rất có thể là điều đầu tiên bạn sẽ học khi bắt đầu hành trình học Python của mình. Có một phần truyền thống là viết chương trình "Xin chào thế giới" như những dòng mã đầu tiên của bạn. Và bạn làm điều đó bằng cách sử dụng hàm print() để xuất đoạn văn bản đó ra bảng điều khiển.