Beispiel #1
0
def test_fill_dimensions():
    resize_root, images, filenames = create_tmp_images()
    white_img_fn, black_img_fn = filenames
    generated_img = fr.generate_image(
        op.join(resize_root, black_img_fn),
        op.join(resize_root, 'resized_black1.png'),
        width=600, height=700, format=fr.PNG, fill=True
    )
    assert generated_img.width == 600
    assert generated_img.height == 700
    assert generated_img.getpixel((0, 0))[3] == 0  # Transparent

    generated_img = fr.generate_image(
        op.join(resize_root, black_img_fn),
        op.join(resize_root, 'resized_black2.jpg'),
        width=600, height=700, format=fr.JPEG, fill=True,
    )
    assert generated_img.width == 600
    assert generated_img.height == 700
    assert generated_img.getpixel((0, 0)) == (255, 255, 255, 255)

    generated_img = fr.generate_image(
        op.join(resize_root, black_img_fn),
        op.join(resize_root, 'resized_black3.jpg'),
        width=600, height=700, format=fr.JPEG, fill=True,
        bgcolor=(100, 100, 100),
    )
    assert generated_img.width == 600
    assert generated_img.height == 700
    assert generated_img.getpixel((0, 0)) == (100, 100, 100, 255)
Beispiel #2
0
def test_svg_resize_cairosvgimporterror():
    resize_root = tempfile.mkdtemp()
    svg_path = op.join(resize_root, 'test.svg')
    with open(svg_path, 'w') as fp:
        fp.write('123')

    with pytest.raises(fr.exc.CairoSVGImportError):
        fr.generate_image(
            svg_path,
            op.join(resize_root, 'out.png'),
            format='png',
            width=50,
            height=50
        )
Beispiel #3
0
    def thumb(self, path, height=50):
        submission_id, img_filename = path.split('/')[-2:]
        thumb_filename = '%d_%s_%s' % (height, submission_id, img_filename)

        img_path = os.path.join('app', 'static', 'uploads', 'submissions',
                                submission_id, img_filename)
        thumb_path = os.path.join('app', 'static', 'uploads', 'cache',
                                  thumb_filename)

        if not os.path.exists(thumb_path):
            generate_image(img_path,
                           thumb_path,
                           height=height,
                           progressive=True)

        thumb_dir = os.path.join(os.getcwd(), 'app', 'static', 'uploads',
                                 'cache')

        return send_from_directory(directory=thumb_dir,
                                   filename=thumb_filename,
                                   mimetype='image/jpg',
                                   as_attachment=False)
Beispiel #4
0
def test_svg_resize():
    resize_root = tempfile.mkdtemp()
    svg_path = op.join(resize_root, 'test.svg')
    with open(svg_path, 'w') as fp:
        fp.write(SVG_DATA)

    generated_img = fr.generate_image(
        svg_path,
        op.join(resize_root, 'out.png'),
        format='png',
        width=50,
        height=50
    )
    assert generated_img.width == 50
    assert generated_img.height == 50

    expected = (0, 0, 0, 255)
    assert generated_img.getpixel((0, 0)) == expected
    assert generated_img.getpixel((49, 49)) == expected