コード例 #1
0
ファイル: test_info.py プロジェクト: thkien/psd-tools2
def test_layer_properties():
    psd = PSDImage(decode_psd('clipping-mask2.psd'))
    assert psd.width
    assert psd.height
    assert psd.channels
    assert psd.viewbox
    for layer in psd.descendants():
        assert layer.bbox
コード例 #2
0
ファイル: test_info.py プロジェクト: marynate/psd-tools
def test_api():
    image = PSDImage(decode_psd('1layer.psd'))
    assert len(image.layers) == 1

    layer = image.layers[0]
    assert layer.name == 'Фон'
    assert layer.bbox == (0, 0, 101, 55)
    assert layer.visible
    assert layer.opacity == 255
    assert layer.blend_mode == BlendMode.NORMAL
コード例 #3
0
def test_text(filename, layer_num, text):
    psd = PSDImage(decode_psd(filename))

    layer = psd.layers[layer_num]
    assert layer.text == text
    assert len(layer.matrix) == 6
    assert len(layer.fontset) == 3  # Specific to files.
    assert layer.writing_direction == 0  # Specific to files.
    assert layer.full_text.startswith(text)
    assert all([isinstance(span, dict) for span in layer.style_spans()])
コード例 #4
0
ファイル: test_info.py プロジェクト: thkien/psd-tools2
def test_api():
    image = PSDImage(decode_psd('1layer.psd'))
    assert len(image.layers) == 1

    layer = image.layers[0]
    assert layer.name == 'Фон'
    assert layer.bbox == (0, 0, 101, 55)
    assert layer.left == 0
    assert layer.right == 101
    assert layer.top == 0
    assert layer.bottom == 55
    assert layer.visible
    assert layer.opacity == 255
    assert layer.blend_mode == 'normal'
コード例 #5
0
ファイル: test_info.py プロジェクト: thkien/psd-tools2
def test_shape_paths():
    psd = PSDImage(decode_psd('gray1.psd'))
    assert psd.layers[1].has_vector_mask()
    vector_mask = psd.layers[1].vector_mask
    assert not vector_mask.invert
    assert not vector_mask.disabled
    assert not vector_mask.not_link
    assert len(vector_mask.paths) == 2
    path = vector_mask.paths[0]
    assert len(path.knots) == path.num_knots
    assert path.closed
    path = vector_mask.paths[1]
    assert len(path.knots) == path.num_knots
    assert path.closed
コード例 #6
0
ファイル: test_patterns.py プロジェクト: zacaoer/psd-tools2
def test_text():
    psd = PSDImage(decode_psd('patterns.psd'))
    patterns = psd.patterns
    assert len(patterns) == 6

    try:
        from PIL import Image
        for pattern_id in patterns:
            pattern = patterns[pattern_id]
            image = pattern.as_PIL()
            assert image.width == pattern.width
            assert image.height == pattern.height
    except ImportError:
        pass
コード例 #7
0
def test_userapi_placed_layers():
    img = PSDImage(decode_psd("placedLayer.psd"))
    bg = img.layers[3]
    assert bg.placed_layer_size is None
    assert bg.transform_bbox is None

    layer0 = img.layers[0]
    assert layer0.placed_layer_size == (64, 64)
    assert layer0.transform_bbox == BBox(x1=96.0, y1=96.0, x2=160.0, y2=160.0)

    layer1 = img.layers[1]
    assert layer1.placed_layer_size == (101, 55)
    assert layer1.placed_layer_size.width == 101
    assert layer1.transform_bbox == BBox(x1=27.0, y1=73.0, x2=229.0, y2=183.0)

    layer2 = img.layers[2]
    assert layer2.placed_layer_size == (64, 64)
    assert layer2.transform_bbox == BBox(x1=96.0, y1=96.0, x2=160.0, y2=160.0)
コード例 #8
0
ファイル: test_dimensions.py プロジェクト: makielab/psd-tools
def test_bbox(filename, layer_index, bbox):
    psd = PSDImage(decode_psd(filename))
    layer = psd.layers[layer_index]
    assert layer.bbox == bbox
コード例 #9
0
ファイル: test_dimensions.py プロジェクト: makielab/psd-tools
def test_dimensions_api(filename, size):
    psd = PSDImage(decode_psd(filename))
    assert psd.header.width == size[0]
    assert psd.header.height == size[1]
コード例 #10
0
def test_blend_and_clipping():
    psd = PSDImage(decode_psd('blend-and-clipping.psd'))
    for layer in psd.layers:
        assert isinstance(layer.as_PIL(), Image.Image)
コード例 #11
0
ファイル: test_info.py プロジェクト: thkien/psd-tools2
def test_print():
    psd = PSDImage(decode_psd('empty-layer.psd'))
    psd.print_tree()
コード例 #12
0
ファイル: test_info.py プロジェクト: thkien/psd-tools2
def stroke_psd():
    psd = PSDImage(decode_psd('stroke.psd'))
    yield psd
コード例 #13
0
def test_no_text():
    psd = PSDImage(decode_psd('1layer.psd'))
    assert not hasattr(psd.layers[0], 'text_data')
コード例 #14
0
def test_userapi_no_placed_layers():
    img = PSDImage(decode_psd("1layer.psd"))
    layer = img.layers[0]
    assert layer.placed_layer_size is None
    assert layer.transform_bbox is None
コード例 #15
0
ファイル: test_info.py プロジェクト: yuhan0/psd-tools
def test_fakeroot_layer_repr():
    img = PSDImage(decode_psd('1layer.psd'))
    fakeroot = img.layers[0].parent
    assert re.match(r"<psd_tools.Group: u?'_RootGroup', layer_count=1>", repr(fakeroot)), repr(fakeroot)
コード例 #16
0
ファイル: test_text.py プロジェクト: yuhan0/psd-tools
def test_no_text():
    psd = PSDImage(decode_psd('1layer.psd'))
    assert psd.layers[0].text_data is None
コード例 #17
0
ファイル: test_text.py プロジェクト: yuhan0/psd-tools
def test_text(filename, layer_num, text):
    psd = PSDImage(decode_psd(filename))

    layer = psd.layers[layer_num]
    assert layer.text_data.text == text