Как создать комбинированную фигуру высокого разрешения? - PullRequest
0 голосов
/ 21 марта 2020

У меня есть шесть чисел png, которые я хочу объединить в одну фигуру высокого разрешения, используя следующий скрипт:

from svgutils.compose import *
os.system("python pngtosvg.py")

def new_tile(self, ncols, nrows):
    dx = self.width.to('px').value/ncols
    dy = self.height.to('px').value/nrows
    ix, iy = 0, 0
    for el in self:
        el.move(dx*ix, dy*iy)
        ix += 1
        if ix >= ncols:
            ix = 0
            iy += 1
        if iy > nrows:
            break
    return self

Figure.tile = new_tile

scale_factor = 2.
myfigure = Figure("20cm", "13.7cm", 
                  SVG("figure_1.svg").scale(scale_factor), 
                  SVG("figure_2.svg").scale(scale_factor), 
                  SVG("figure_3.svg").scale(scale_factor), 
                  SVG("figure_4.svg").scale(scale_factor), 
                  SVG("figure_5.svg").scale(scale_factor), 
                  SVG("figure_6.svg").scale(scale_factor) 
                  ).tile(1, 6)

myfigure.save('figure.svg')
os.system('inkscape --export-png=figure.png figure.svg --export-background=white --export-area-drawing')
os.system("rm /home/username/Desktop/*.svg")

Проблема заключается в следующем: несмотря на высокое разрешение отдельных цифр от 1 до 6, разрешение конечной объединенной цифры настолько низка, что я едва могу прочитать названия легенд и топоров. Знаете ли вы, как изменить мой код или, возможно, работать с лучшим пакетом, чем svgutils, чтобы получить лучшее разрешение при объединении моих чисел png?

...