示例#1
0
 def setUp(self):
     header = Header(text='foo', fontfullpath=None)
     linkback = Linkback(text='bar', fontfullpath=None)
     para = Paragraph(text='foo bar', fontfullpath=None)
     content = Content(para, header=header, linkback=linkback)
     fullpath = 'test.png'
     self.img = Image(content, fullpath)
示例#2
0
 def test_depending_on_opposite_to_bg_color_without_dependencies(self):
     header = Header(text='foo', fontfullpath=None, color='#000')
     linkback = Linkback(text='bar', fontfullpath=None, color='#000')
     para = Paragraph(text='foo bar', fontfullpath=None, color='#000')
     content = Content(para, header=header, linkback=linkback)
     single_unit_content = Content(para)
     self.assertFalse(content.depends_on_opposite_to_bg_color)
     self.assertFalse(single_unit_content.depends_on_opposite_to_bg_color)
示例#3
0
 def test_depending_on_opposite_to_bg_color(self):
     header = Header(text='foo', fontfullpath=None)
     linkback = Linkback(text='bar', fontfullpath=None)
     para = Paragraph(text='foo bar', fontfullpath=None)
     content = Content(para, header=header, linkback=linkback)
     single_unit_content = Content(para)
     self.assertTrue(content.depends_on_opposite_to_bg_color)
     self.assertTrue(single_unit_content.depends_on_opposite_to_bg_color)
示例#4
0
 def setUp(self):
     header = Header(text='foo', fontfullpath=None, outline=Outline())
     linkback = Linkback(text='bar', fontfullpath=None, outline=Outline())
     para = Paragraph(text='foo bar', fontfullpath=None, outline=Outline())
     content = Content(para, header=header, linkback=linkback, padding=45)
     self.fullpath = 'test.png'
     self.img = Image(content, self.fullpath)
     self.img._create_image()
     self.img._create_draw_object()
     self.img.opposite_to_bg_color = '#000'
示例#5
0
from nider.models import Content
from nider.models import Header
from nider.models import Linkback
from nider.models import Paragraph
from nider.models import TwitterPost

# TODO: change this fontpath to the fontpath on your machine
roboto = '/home/ovd/.local/share/fonts/Roboto/'

header = Header(text='Your super interesting title!',
                fontfullpath=roboto + 'Roboto-Bold.ttf',
                fontsize=30,
                text_width=40,
                align='left',
                color='#ededed'
                )

para = Paragraph(text='Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.',
                 fontfullpath=roboto + 'Roboto-Medium.ttf',
                 fontsize=29,
                 text_width=65,
                 align='left',
                 color='#ededed'
                 )

linkback = Linkback(text='foo.com | @username',
                    fontfullpath=roboto + 'Roboto-Bold.ttf',
                    fontsize=24,
                    color='#ededed'
                    )
示例#6
0
 def setUp(self):
     header = Header(text='foo', fontfullpath=None)
     linkback = Linkback(text='bar', fontfullpath=None)
     para = Paragraph(text='foo bar', fontfullpath=None)
     self.content = Content(para, header=header, linkback=linkback)
示例#7
0
def write_image_on_text(header='',
                        footer='',
                        source_path='sources/test.jpg',
                        width=1080, height=1080,
                        header_font_path='fonts/Roboto-Regular.ttf',
                        text_width_header=30,  font_size_header=40,
                        footer_font_path='fonts/Roboto-Regular.ttf',
                        font_size_footer=30, text_width_footer=30,
                        save_folder='temp/',
                        top_padding=200,
                        bottom_padding=140):
    header_text = Header(
        text=header.upper(),
        font=Font(header_font_path, font_size_header),
        text_width=text_width_header,
        align='center',
        color='#ffffff'
    )

    para = Paragraph(
        text='',
        font=Font(footer_font_path, font_size_footer),
        text_width=text_width_footer,
        align='center',
        color='#ffffff'
    )

    linkback = Linkback(
        text='',
        font=Font(footer_font_path, font_size_footer),
        align='center',
        color='#ffffff',
        bottom_padding=20
    )

    content = Content(para, header_text, linkback, padding=top_padding)

    temp_save_path = get_save_file_name(save_folder)
    img = Image(content, width=width, height=height, fullpath=temp_save_path)

    img.draw_on_texture(source_path)

    header_text = Header(
        text='',
        font=Font(header_font_path, font_size_header),
        text_width=text_width_header,
        align='center',
        color='#ffffff'
    )

    para = Paragraph(
        text=footer,
        font=Font(footer_font_path, font_size_footer),
        text_width=text_width_footer,
        align='center',
        color='#ffffff'
    )

    content = Content(para, header_text, linkback, padding=bottom_padding)

    new_save_path = get_save_file_name(save_folder)
    img = Image(content, width=width, height=height, fullpath=new_save_path)

    img.draw_on_texture(temp_save_path)

    img = Img.open(new_save_path)
    img = img.crop((0, 0, width, height))

    final_save_path = get_save_file_name(save_folder)
    img.save(final_save_path)

    return final_save_path
示例#8
0
 def test_set_title_without_title_provided_but_with_header(self):
     header = Header('title')
     content = Content(header=header)
     Image._set_content(self.image_mock, content)
     Image._set_title(self.image_mock, '')
     self.assertEqual(self.image_mock.title, 'title')
示例#9
0
 def setUp(self):
     header = Header(text='foo')
     linkback = Linkback(text='bar')
     para = Paragraph(text='foo bar')
     self.content = Content(para, header=header, linkback=linkback)
示例#10
0
    checker = 2
    print('Chose header font')
    header_font = askopenfilename()  # selected font
    header_font = header_font.split('/')
    header_font = header_font[-1]
    print('Selected header font' + str(header_font))
    print('Chose content font')
    content_font = askopenfilename()  # selected font
    content_font = content_font.split('/')
    content_font = content_font[-1]
    print('Selected content font' + str(content_font))
    outline = Outline(2, '#121212')

    header = Header(text=head,
                    font=Font(FONTS + header_font, 60),
                    text_width=40,
                    align='left',
                    color='#ededed',
                    outline=outline)

    para = Paragraph(text=body,
                     font=Font(FONTS + content_font, 48),
                     text_width=65,
                     align='left',
                     color='#ededed',
                     outline=outline)

    linkback = Linkback(text='myQuoteSite.com |' + author,
                        font=Font(FONTS + header_font, 18),
                        color='#ededed',
                        outline=outline)
示例#11
0
from nider.core import Outline

from nider.models import Header
from nider.models import Paragraph
from nider.models import Linkback
from nider.models import Content
from nider.models import TwitterPost

# TODO: change this fontpath to the fontpath on your machine
roboto_font_folder = '/home/ovd/.local/share/fonts/Roboto/'

outline = Outline(2, '#121212')

header = Header(text='Your super interesting title!',
                font=Font(roboto_font_folder + 'Roboto-Bold.ttf', 30),
                text_width=40,
                align='left',
                color='#ededed')

para = Paragraph(
    text=
    'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.',
    font=Font(roboto_font_folder + 'Roboto-Medium.ttf', 29),
    text_width=65,
    align='left',
    color='#ededed')

linkback = Linkback(text='foo.com | @username',
                    font=Font(roboto_font_folder + 'Roboto-Bold.ttf', 24),
                    color='#ededed')
示例#12
0
from nider.models import Linkback
from nider.models import Content
from nider.models import Image

from PIL import ImageFilter

# TODO: change this fontpath to the fontpath on your machine
roboto_font_folder = '/home/ovd/.local/share/fonts/Roboto/'

text_outline = Outline(2, '#111')

header = Header(
    text=
    'The first solar eclipse to cross America in 99 years is coming. To some, it’s an act of God.',
    font=Font(roboto_font_folder + 'Roboto-Bold.ttf', 28),
    text_width=53,
    line_padding=3,
    align='left',
    color='#ededed',
    outline=text_outline,
)

para = Paragraph(
    text=
    'Tens of millions of people are expected to cram into a narrow path, from Oregon to the Carolinas, to see the remarkable event.',
    font=Font(roboto_font_folder + 'Roboto-Medium.ttf', 25),
    text_width=60,
    align='left',
    color='#ededed',
    outline=text_outline,
)
示例#13
0
from nider.core import Outline

from nider.models import Content
from nider.models import Header
from nider.models import Image


# TODO: change this fontpath to the fontpath on your machine
roboto_font_folder = '/home/ovd/.local/share/fonts/Roboto/'

text_outline = Outline(1, '#efefef')

header = Header(text='Google bought a service that allows patients to undergo basic clinical tests at home using smartphones.',
                font=Font(roboto_font_folder + 'Roboto-Bold.ttf', 22),
                text_width=50,
                align='left',
                color='#000100',
                outline=text_outline
                )

content = Content(header=header)

img = Image(content,
            fullpath='result.png',
            width=600,
            height=314
            )

# TODO: change this image path to the image path on your machine
img.draw_on_image('bg.jpg')