有没有办法将 html 嵌入到 pygamee

Posted

技术标签:

【中文标题】有没有办法将 html 嵌入到 pygamee【英文标题】:is there any way of embedding html INTO pygamee 【发布时间】:2021-01-12 08:56:32 【问题描述】:

所以,我正在尝试在 pygame 中创建一个虚拟助手,但我找不到任何将我的搜索结果添加到窗口中的方法,我打算使用 beatifulsoup 抓取所有 html 并将其放入html 到 pygame,但问题是我不知道如何将 html 嵌入到 pygame 中,并且要清楚,我不是在谈论将 pygame 嵌入到 html 中,而是将 html 放入其中pygame 窗口

【问题讨论】:

【参考方案1】:

没有办法直接在 pygame 中执行此操作。但是您可以使用wkhtmltoimage 之类的外部工具将您的 HTML 渲染为图像并在 pygame 中使用。

这是一个使用imgkit(wkhtmltoimage 的python 包装器)的简单示例:

import pygame
import imgkit
from io import BytesIO

def main():
    config = imgkit.config(wkhtmltoimage=r'C:\Program Files\wkhtmltopdf\bin\wkhtmltoimage.exe')

    pygame.init()
    screen = pygame.display.set_mode((600, 480))

    html = "<style type = 'text/css'> body  font-family: 'Arial'  </style><body><h1>Html rendering</h1><div><ul><li><em>using pygame</em></li><li><strong>using imgkit</strong></li></ul></div></body>"
    img = imgkit.from_string(html, False, config=config)
    surface = pygame.image.load(BytesIO(img)).subsurface((0,0,280,123))
    r = 0
    center = screen.get_rect().center
    clock = pygame.time.Clock()
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT: 
                return

        screen.fill('white')
        tmp = pygame.transform.rotozoom(surface, r, 1)
        tmp_r = tmp.get_rect(center=center)
        screen.blit(tmp, tmp_r)
        r += 1
        pygame.display.flip()
        clock.tick(60)

if __name__ == '__main__':
    main()    

【讨论】:

以上是关于有没有办法将 html 嵌入到 pygamee的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法将 UIView 嵌入到 UIScrollview 中而不会丢失 iOS 中的子视图约束?

将每个视频嵌入到webhost上的目录中

有没有办法将数据库表的关系视图嵌入 MySQL

有没有办法在 selenium webdriver 中获取 <embed> 标签资源

有没有办法在 SVG 文件中嵌入 Google Web Font 脚本?

有没有办法使用 Sequelize 一次将多个嵌入式模型保存在数据库中