Как отобразить текст с высотой пикселей, а не с точками в пиглете? - PullRequest
0 голосов
/ 24 марта 2010

Пиглет, кажется, использует только очки. Есть ли способ конвертировать легко? Конечно, должен быть простой способ, потому что это нечто явно важное, чтобы иметь возможность использовать пиксели для высоты текста.

class Font():
    def __init__(self,font,size):
        self.size = size
        self.font = font
    def return_surface(self,label):
        surface = Surface((label.content_width,label.content_height))
        surface.set_background_alpha(0)
        setup_framebuffer(surface,True)
        label.draw()
        end_framebuffer()
        return surface
    def render(self,text,colour):
        colour = fix_colour(colour)
        label = pyglet.text.Label(text,font_name=self.font,font_size=self.size,color = colour,dpi=72)
        return self.return_surface(label)
    def render_wordwrap(self,text,width,colour,alignment):
        if alignment == 0:
            alignment = 'left'
        elif alignment == 1:
            alignment = 'center'
        else:
            alignment = 'right'
        colour = fix_colour(colour)
        label = pyglet.text.Label(text,font_name=self.font,font_size=self.size,color = colour,width=width,halign=alignment, multiline=True,dpi=72)
        return self.return_surface(label)

1 Ответ

0 голосов
/ 25 марта 2010

Количество пикселей, занимаемых определенным размером точки, будет зависеть от DPI вашего экрана. Например, «14pt» - это расстояние, охватывающее 14 точек, которое при значении DPI по умолчанию 96 составляет около 18 пикселей.

Этот сайт дает хорошее объяснение преобразования размеров точек в пиксели.

...