| import os |
| import sys |
| import cv2 |
| import pytest |
| import numpy as np |
|
|
| pytest_plugins = ('pytest_asyncio') |
|
|
| sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) |
|
|
| from manga_translator.rendering import dispatch as dispatch_rendering, dispatch_eng_render |
| from manga_translator.utils import ( |
| TextBlock, |
| visualize_textblocks, |
| ) |
|
|
|
|
| RENDER_IMAGE_FOLDER = 'test/testdata/render' |
| os.makedirs(RENDER_IMAGE_FOLDER, exist_ok=True) |
|
|
| def save_result(path, img, regions): |
| path = os.path.join(RENDER_IMAGE_FOLDER, path) |
| cv2.imwrite(path, visualize_textblocks(img, regions)) |
|
|
|
|
| @pytest.mark.asyncio |
| async def test_default_renderer(): |
| width, height = 1000, 1000 |
| img = np.zeros((height, width, 3)) |
| regions = [ |
| TextBlock( |
| [[[10, 10], [200, 10], [10, 400], [200, 400]]], |
| translation='aaaaaa bbbbbbbbbbbb cccc ddddddddddd eeeeeeeeeeeeee fff' |
| ), |
| TextBlock( |
| [[[410, 10], [900, 10], [410, 800], [900, 800]]], |
| translation= |
| |
| |
| |
| 'normal english sentences can be hyphenated! ' \ |
| 'Pneumonoultramicroscopicsilicovolcanoconiosis' |
| ), |
| ] |
| for region in regions: |
| region.target_lang = 'ENG' |
| region.set_font_colors([255, 255, 255], [200, 200, 200]) |
| region.font_size = 100 |
|
|
| img_rendered = await dispatch_rendering(img, regions, hyphenate=False) |
| save_result('default1.png', img_rendered, regions) |
|
|