<bdo id='SZwfI'></bdo><ul id='SZwfI'></ul>

  • <legend id='SZwfI'><style id='SZwfI'><dir id='SZwfI'><q id='SZwfI'></q></dir></style></legend>

    <small id='SZwfI'></small><noframes id='SZwfI'>

    1. <i id='SZwfI'><tr id='SZwfI'><dt id='SZwfI'><q id='SZwfI'><span id='SZwfI'><b id='SZwfI'><form id='SZwfI'><ins id='SZwfI'></ins><ul id='SZwfI'></ul><sub id='SZwfI'></sub></form><legend id='SZwfI'></legend><bdo id='SZwfI'><pre id='SZwfI'><center id='SZwfI'></center></pre></bdo></b><th id='SZwfI'></th></span></q></dt></tr></i><div id='SZwfI'><tfoot id='SZwfI'></tfoot><dl id='SZwfI'><fieldset id='SZwfI'></fieldset></dl></div>
      <tfoot id='SZwfI'></tfoot>

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

        时间:2023-09-03
          <tbody id='yoWWg'></tbody>
          • <i id='yoWWg'><tr id='yoWWg'><dt id='yoWWg'><q id='yoWWg'><span id='yoWWg'><b id='yoWWg'><form id='yoWWg'><ins id='yoWWg'></ins><ul id='yoWWg'></ul><sub id='yoWWg'></sub></form><legend id='yoWWg'></legend><bdo id='yoWWg'><pre id='yoWWg'><center id='yoWWg'></center></pre></bdo></b><th id='yoWWg'></th></span></q></dt></tr></i><div id='yoWWg'><tfoot id='yoWWg'></tfoot><dl id='yoWWg'><fieldset id='yoWWg'></fieldset></dl></div>
            • <bdo id='yoWWg'></bdo><ul id='yoWWg'></ul>

              <small id='yoWWg'></small><noframes id='yoWWg'>

              1. <tfoot id='yoWWg'></tfoot>

                  <legend id='yoWWg'><style id='yoWWg'><dir id='yoWWg'><q id='yoWWg'></q></dir></style></legend>
                  本文介绍了PyGame 应用程序中的 SVG 渲染.在 Pygame 2.0 之前,Pygame 不支持 SVG.那你是怎么加载的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  在 pyGame 应用程序中,我想渲染 SVG 中描述的无分辨率 GUI 小部件.p>

                  我可以使用什么工具和/或库来实现这个目标?

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

                  解决方案

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

                  #!/usr/bin/python导入数组导入数学进口开罗导入pygame导入 rsvg宽度 = 512高度 = 512数据 = array.array('c', chr(0) * WIDTH * HEIGHT * 4)表面 = cairo.ImageSurface.create_for_data(数据,cairo.FORMAT_ARGB32,宽度,高度,宽度 * 4)pygame.init()window = pygame.display.set_mode((WIDTH, HEIGHT))svg = rsvg.Handle(file="test.svg")ctx = cairo.Context(表面)svg.render_cairo(ctx)屏幕 = pygame.display.get_surface()image = pygame.image.frombuffer(data.tostring(), (WIDTH, HEIGHT),"ARGB")screen.blit(图像, (0, 0))pygame.display.flip()时钟 = pygame.time.Clock()而真:时钟.tick(15)对于 pygame.event.get() 中的事件:如果 event.type == pygame.QUIT:提高系统退出

                  In a pyGame application, I would like to render resolution-free GUI widgets described in SVG.

                  What tool and/or library can I use to reach this goal ?

                  (I like the OCEMP GUI toolkit but it seems to be bitmap dependent for its rendering)

                  解决方案

                  This is a complete example which combines hints by other people here. It should render a file called test.svg from the current directory. It was tested on 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()
                  while True:
                      clock.tick(15)
                      for event in pygame.event.get():
                          if event.type == pygame.QUIT:
                              raise SystemExit
                  

                  这篇关于PyGame 应用程序中的 SVG 渲染.在 Pygame 2.0 之前,Pygame 不支持 SVG.那你是怎么加载的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:有没有一种优雅的方法可以在 python 中使用 lxml 来计算 xml 文件中的标签元素? 下一篇:模型表单中的 Django 必填字段

                  相关文章

                  <small id='UrqXB'></small><noframes id='UrqXB'>

                    <bdo id='UrqXB'></bdo><ul id='UrqXB'></ul>
                1. <tfoot id='UrqXB'></tfoot>
                2. <i id='UrqXB'><tr id='UrqXB'><dt id='UrqXB'><q id='UrqXB'><span id='UrqXB'><b id='UrqXB'><form id='UrqXB'><ins id='UrqXB'></ins><ul id='UrqXB'></ul><sub id='UrqXB'></sub></form><legend id='UrqXB'></legend><bdo id='UrqXB'><pre id='UrqXB'><center id='UrqXB'></center></pre></bdo></b><th id='UrqXB'></th></span></q></dt></tr></i><div id='UrqXB'><tfoot id='UrqXB'></tfoot><dl id='UrqXB'><fieldset id='UrqXB'></fieldset></dl></div>

                      <legend id='UrqXB'><style id='UrqXB'><dir id='UrqXB'><q id='UrqXB'></q></dir></style></legend>