Wyświetlanie tekstu w grafice wektorowej

0

Robię grafike wektorową w Inkscape, używam narzędzia do pisania, pisze tekst, wszystko działa. Odpalam Pygame, wszystko oprocz tekstu jest wyswietlane.
Dodam że gdy otwieram pliki svg w KolourPaint to teskt jest w innym miejscu grafiki niż w inkscape, co nie zdarza się z innymi obiektami.

import pygame

pygame.init()

screen = pygame.display.set_mode([500, 500])

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((255, 255, 255))
    img = pygame.image.load("cycle.svg")
    img = pygame.transform.scale(img, (500, 500))
    screen.blit(img, pygame.Rect(0, 0, 500, 500))
    pygame.display.flip()

pygame.quit()

obrazek SVG
Screenshot from 2022-08-05 20-13-45.png
A to w jaki sposob obrazek jest wyswietlany przez pygame

Dlaczego tak się dzieje? Co mam zrobić żeby działało?

0

A dodaj takie coś, bo nigdzie nie widzę gdzie tego fonta renderujesz/

pygame.font.init()
comic_sans = pygame.font.SysFont('Comic Sans MS', 35)
dupa = comic_sans3.render("DUPA", False, (0, 0, 0))
screen.blit(dupa, (270, 300))
0

po zmianie kod wyglada tak:

import pygame

pygame.init()

screen = pygame.display.set_mode([1000, 1000])

pygame.font.init()
comic_sans = pygame.font.SysFont('Comic Sans MS', 35)
dupa = comic_sans.render("DUPA", False, (0, 100, 100))
screen.blit(dupa, (270, 300))

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((255, 255, 255))
    img = pygame.image.load("cycle.svg")
    img = pygame.transform.scale(img, (1000, 1000))
    screen.blit(img, pygame.Rect(0, 0, 1000, 1000))
    screen.blit(dupa, (270, 300))
    pygame.display.flip()

pygame.quit()

a pygame wyswietla:
Screenshot from 2022-08-05 20-23-59.png
Fonta nie renderuje, tylko jest on zapisany w pliku svg.

2

Podejrzewam, że w SVG tekst zapisujesz jako tekst i font. Pygame może tego nie obsługiwać. Musisz tekst skonwertować na "ścieżki", których się już nie da edytować jako tekst i te ścieżki powinny się poprawnie wczytać w pygame.

screenshot-20220805205130.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1