sách gpt4 ăn đã đi

python - PyGame 应用程序中的 SVG 渲染。在 Pygame 2.0 之前,Pygame 不支持 SVG。那你是怎么加载的?

In lại Tác giả: IT Lão Cao 更新时间:2023-10-28 20:26:55 37 4
mua khóa gpt4 giày nike

hiện hữu pyGame 中应用程序,我想渲染 SVG 中描述的无分辨率 GUI 小部件。

我怎样才能做到这一点?

(我喜欢 OCEMP GUI 工具包,但它的渲染似乎依赖于位图)

câu trả lời hay nhất

这是一个完整的例子,它结合了其他人的提示。它应该从当前目录呈现一个名为 test.svg 的文件。它在 Ubuntu 10.10、python-cairo 1.8.8、python-pygame 1.9.1、python-rsvg 2.30.0 上进行了测试。

#!/usr/bin/python

import array
import math

import cairo
import pygame
import rsvg

WIDTH = 512
HEIGHT = 512

data = array.array('c', chr(0) * WIDTH * HEIGHT * 4)
surface = cairo.ImageSurface.create_for_data(
data, cairo.FORMAT_ARGB32, WIDTH, HEIGHT, WIDTH * 4)

pygame.init()
window = pygame.display.set_mode((WIDTH, HEIGHT))
svg = rsvg.Handle(file="test.svg")
ctx = cairo.Context(surface)
svg.render_cairo(ctx)

screen = pygame.display.get_surface()
image = pygame.image.frombuffer(data.tostring(), (WIDTH, HEIGHT),"ARGB")
screen.blit(image, (0, 0))
pygame.display.flip()

clock = pygame.time.Clock()
trong khi Đúng:
clock.tick(15)
for event in pygame.event.get():
if event.type == pygame.QUIT:
raise SystemExit

关于python - PyGame 应用程序中的 SVG 渲染。在 Pygame 2.0 之前,Pygame 不支持 SVG。那你是怎么加载的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/120584/

37 4 0
Cựu chiến binh CNTT
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress