예제 #1
0
파일: image.py 프로젝트: BmanisKing/Mine
def export_nametable(nametable_data, chr_data, png_file, palette=palette):
    if isinstance(nametable_data, str):
        nts = nametable.load_nametable(nametable_data)
    else:
        nts = nametable_data

    if isinstance(chr_data, str):
        sprs = SpriteSet(chr_data)
    else:
        sprs = SpriteSet(chr_data)

    nt = nametable.get_nametable(0, nts)
    size = (256, 256)
    img = Image.new('RGB', size)
    draw = ImageDraw.Draw(img)

    nt_index = 0

    # num_nt = nametable.length(nts)

    if len(sprs) == 512:
        start = 256
    else:
        start = 0

    for y in range(32):
        for x in range(32):
            dx = nt_index / 32
            dy = nt_index % 32
            spr_index = nt[y][x] + start  # TODO something strange with X and Y
            spr = sprs.get(spr_index)
            draw_sprite(spr, dx, dy, draw, palette)
            nt_index += 1

    img.save(png_file, 'PNG')
예제 #2
0
파일: image.py 프로젝트: yxda/pyNES
def export_nametable(nametable_data, chr_data, png_file, palette=palette):
    if isinstance(nametable_data, str):
        nts = nametable.load_nametable(nametable_data)
    else:
        nts = nametable_data

    if isinstance(chr_data, str):
        sprs = SpriteSet(chr_data)
    else:
        sprs = SpriteSet(chr_data)

    nt = nametable.get_nametable(0, nts)
    size = (256, 256)
    img = Image.new('RGB', size)
    draw = ImageDraw.Draw(img)

    nt_index = 0

    # num_nt = nametable.length(nts)

    if len(sprs) == 512:
        start = 256
    else:
        start = 0

    for y in range(32):
        for x in range(32):
            dx = nt_index / 32
            dy = nt_index % 32
            spr_index = nt[y][x] + start  # TODO something strange with X and Y
            spr = sprs.get(spr_index)
            draw_sprite(spr, dx, dy, draw, palette)
            nt_index += 1

    img.save(png_file, 'PNG')
예제 #3
0
파일: image.py 프로젝트: BmanisKing/Mine
def export_chr(chr_data, image_file, palette=palette, width=8):
    if isinstance(chr_data, str):
        sprs = SpriteSet(chr_data)
    else:
        sprs = SpriteSet(chr_data)
    spr_len = len(sprs)
    height = spr_len / width
    size = (width * 8, height * 8)

    img = Image.new('RGB', size)
    draw = ImageDraw.Draw(img)

    for s_index in range(spr_len):
        spr = sprs.get(s_index)
        dx = s_index % width
        dy = s_index / width
        for y in range(8):
            for x in range(8):
                color = spr[y][x]
                draw.point((x + (8 * dx), y + (8 * dy)), palette[color])
    img.save(image_file, 'PNG')
예제 #4
0
파일: image.py 프로젝트: yxda/pyNES
def export_chr(chr_data, image_file, palette=palette, width=8):
    if isinstance(chr_data, str):
        sprs = SpriteSet(chr_data)
    else:
        sprs = SpriteSet(chr_data)
    spr_len = len(sprs)
    height = spr_len / width
    size = (width * 8, height * 8)

    img = Image.new('RGB', size)
    draw = ImageDraw.Draw(img)

    for s_index in range(spr_len):
        spr = sprs.get(s_index)
        dx = s_index % width
        dy = s_index / width
        for y in range(8):
            for x in range(8):
                color = spr[y][x]
                draw.point((x + (8 * dx), y + (8 * dy)), palette[color])
    img.save(image_file, 'PNG')