From 8f3a0cd65c107aa111a80da956af608a328fcb75 Mon Sep 17 00:00:00 2001 From: Zhang Muyu Date: Sat, 16 Sep 2023 22:07:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=B8=83=E5=B1=80=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/main.py | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/test/main.py b/test/main.py index f2237e1..8728f5b 100644 --- a/test/main.py +++ b/test/main.py @@ -37,12 +37,13 @@ min_width = 250 min_height = 250 space_size = 20 +safe_area_size = 8 text_size = 40 content_width = min_width -content_height = min_height + exit_height +content_height = min_height + exit_height + 2 * safe_area_size -data_file_name = 'data5' +data_file_name = input('data file name(./data/*.json):') data_file_path = './data/{}.json'.format(data_file_name) svg_file_path = './output/{}.svg'.format(data_file_name) @@ -78,7 +79,6 @@ for line in lines: ele_line = [] for item in line: - print(item) item_type = item.get('type') item_info = item.get('info') if item_type == 0: @@ -124,9 +124,7 @@ for line in lines: line_heights.append(line_height) ele_lines.append(ele_line) -content_height = max(content_height, sum(line_heights) + (len(line_heights) + 1) * space_size) - -print(content_width, content_height) +content_height = max(content_height, sum(line_heights) + 2 * exit_height + (len(line_heights) + 2) * space_size + 2 * safe_area_size) # rect dwg = svgwrite.Drawing(svg_file_path.format(data_file_name), profile='tiny', width=content_width, height=content_height) @@ -137,19 +135,13 @@ if obj_type == 1: bg_rect = DoubleStrokeRectComponent(width=content_width, height=content_height - exit_height, main_color='#1f963b', stroke_color='#ffffff', stroke_width=4, r=16) bg_rect.draw(dwg, 0, exit_height) -valid_height = content_height - 2 * exit_height - space_size -print(valid_height) +valid_height = content_height - 2 * exit_height - 2 * safe_area_size - space_size real_vertical_space = (valid_height - sum(line_heights)) / (len(line_heights) + 1) -print(real_vertical_space) -current_line_y = exit_height +current_line_y = exit_height + safe_area_size for (eles, current_line_height) in zip(ele_lines, line_heights): - print(eles, current_line_height) - current_line_y += real_vertical_space - print(current_line_y) ele_count = len(eles) real_horizontal_space = (content_width - sum(ele.width() for ele in eles)) / (ele_count + 1) - print(real_horizontal_space) current_row_x = 0 for ele in eles: current_row_x += real_horizontal_space @@ -189,7 +181,7 @@ dst = Image.open(png_file_path) src = Image.open(src_file_path) src = src.resize((exit_height, exit_height)) src_x = int((content_width - exit_height) / 2) -src_y = int(content_height - space_size - exit_height) +src_y = int(content_height - space_size - safe_area_size - exit_height) dst.paste(src, (src_x, src_y)) dst.putalpha(200) dst.save(png_file_path) \ No newline at end of file