# sna2img.py

## SYNOPSIS

`sna2img.py` [options] INPUT [OUTPUT]

## DESCRIPTION

`sna2img.py` converts a Spectrum screenshot or other graphic data into a PNG file. INPUT may be a binary (raw memory) file, a SCR file, a skool file, or a SNA, SZX or Z80 snapshot.

## OPTIONS

`-b, --bfix`

  When INPUT is a skool file, parse it in @bfix mode.

`-B, --binary`

  Read INPUT as a binary (raw memory) file.

-e, –expand MACRO

  Expand a #FONT, #SCR, #UDG or #UDGARRAY macro. The ‘#’ prefix may be omitted, and any filename parameter is ignored.

-f, –flip N

  Flip the image horizontally (N=1), vertically (N=2), or both (N=3).

`-i, --invert`

  Invert video and reset the FLASH bit for cells that are flashing.

-m, –move src,size,dest

  Move a block of bytes of the given size from ‘src’ to ‘dest’. This option may be used multiple times. ‘src’, ‘size’ and ‘dest’ must each be a decimal number, or a hexadecimal number prefixed by ‘0x’.

`-n, --no-animation`

  Do not animate flashing cells.

-o, –origin X,Y

  Top-left crop the image at tile coordinates (X,Y).

-O, –org ORG

  Set the origin address of a binary file. This option implies `--binary`. The default origin address is 65536 minus the length of the file. ORG must be a decimal number, or a hexadecimal number prefixed by ‘0x’.

-p, –poke a[-b[-c]],[^+]v

  POKE N,v for N in {a, a+c, a+2c…, b}. Prefix ‘v’ with ‘^’ to perform an XOR operation, or ‘+’ to perform an ADD operation. This option may be used multiple times. ‘a’, ‘b’, ‘c’ and ‘v’ must each be a decimal number, or a hexadecimal number prefixed by ‘0x’.

-r, –rotate N

  Rotate the image 90*N degrees clockwise.

-s, –scale SCALE

  Set the scale of the image (default=1).

-S, –size WxH

  Crop the image to this width and height (in tiles).

`-V, --version`

  Show the SkoolKit version number and exit.

## EXAMPLES

1. Convert `game.scr` into a PNG file named `game.png`:

   `sna2img.py game.scr`

2. Convert the screenshot in `game.z80` into a PNG file named `scr.png` at scale 2:

   `sna2img.py -s 2 game.z80 scr.png`

3. Expand a #FONT macro and write the image to `font.png`:

   `sna2img.py -e FONT32768,26 game.skool font.png`