|
12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #! /bin/bash
- # Export several areas in keyboard.svg to optimized PNG.
- # Dependencies: Inkscape, pngcrush.
-
- # IDs of target area rectangles in keyboard.svg:
- IDs="
- white_bright_normal
- white_bright_hover
- white_bright_on_red
- white_bright_on_orange
- white_bright_on_green
- white_bright_on_blue
- white_dark_normal
- white_dark_hover
- white_dark_on_red
- white_dark_on_orange
- white_dark_on_green
- white_dark_on_blue
- black_normal
- black_hover
- black_on_red
- black_on_orange
- black_on_green
- black_on_blue
- "
-
- # Export images:
- for ID in $IDs; do
- inkscape keyboard.svg --export-id=$ID --export-png=$ID.png
- done
-
- # Optimize opaque images and remove their alpha channels.
- # pngcrush will not overwrite input files, so use a temp dir
- # and move/overwrite files afterwards.
- # pngcrush creates the dir given for -d, if necessary.
- pngcrush -c 2 -reduce -d crushed white_*.png
-
- # Optimze transparent images, keeping their alpha channels:
- pngcrush -c 6 -reduce -d crushed black_*.png
-
- # Cleanup:
- mv crushed/*.png .
- rmdir crushed
|