TASVideos

Tool-assisted console game movies
When human skills are just not enough

How To Make PNG

This page explains how to

Snapshots when using Windows

TODO: For each emulator specify what on screen items need to be taken off before taking the shot (frame counter, lag counter, messages, etc)

Note: This information applies only to latest version of each emulator. Make sure you acquire the latest version.

  • PNG format
  • Default hotkey: F12
  • Default directory .\snaps

  • PNG format
  • Default hotkey: F12
  • Default directory: same directory as the ROM

  • JPG format
  • Default hotkey: F12
  • Default directory: .\ScreenShots

  • PNG format
  • Default hotkey: F12
  • Default directory: same directory as the ROM

  • PNG format
  • Default hotkey: F12
  • Default directory: none, you will have to specify when making the screenshot.

  • PNG format
  • Default hotkey: unknown
  • Default directory: unknown

  • PNG format
  • Default hotkey: F12
  • Default directory: .\screenshots

  • PNG format
  • Default hotkey: F12
  • Default directory: .\snaps

  • PNG format
  • Default hotkey: F12
  • Default directory: same location as the .exe

  • PNG format
  • Default hotkey: F12
  • Default directory: .\snap

  • PNG format
  • Default hotkey: F12
  • Default directory: .\shots
  • On-screen items to take off: uncheck menu items Graphics->Show Button States and Graphics->Show Movie Frame Counter

Snapshots when using Linux

In Linux, when you install Imagemagick, you can use import to take screenshots of any window. Example:
  import tmp.png
Then click the window to take screenshot from, and it beeps twice when the file is ready. You can also select a region from screen by pressing the button somewhere and dragging the cursor to mark the corners of the region.

If you use KDE, there is a program which comes with most KDE installs called KSnapshot. It can take images from any window or area, take images on a timer, and remove window decorations automatically. Simply open it, and have it take a snapshot of the active window with the remove decorations box checked.

If your snapshots contains menubars and other irrelevant things, use an image manipulation program such as The GIMP to remove them.

Also ensure that your image is 8-bit, because pngout can only handle 8-bit images. You can do the conversion with Imagemagick with a command line such as this: convert tmp.png -colors 256 -depth 8 +dither tmp2.png or you can use an image manipulation program to do it.

Ps: The programs mentioned in this chapter can be used in Windows too.


Convert to PNG

BMP files should be converted into PNG format. You can use bmp2png downloadable at: http://hp.vector.co.jp/authors/VA010446/b2p-home/index.html.
Or, you can use an image manipulation program such as The GIMP.


Minimizing the file size

We use PNGOUT to compress our PNG files. This algorithm outperforms programs such as AdvPNG in almost all cases.

To get the optimal compress use the first 15 powers of 2 in the block split threshold (-b) option to create 15 separate files. (Then choose the smallest file).

OptiPNG should be used first to ensure the minimum amount of colours are stored in the PNG's palette, making the file much smaller.

DeflOpt can be used optionally at the end to reduce the file just those few bytes more (it almost always does)

Windows

Simply download the ScreenshotCompressor from our TASTools project page. Then simply follow the instructions on the wiki.

Optional reading: There exists a tutorial about PNGOUT for Windows users. Note: Do not drag and drop the image file onto the PNGOUT executable, because it uses RGB compression, when we want palette compression.

Linux

Example of PNGOUT command line in Linux (utilizes several random trials to get the best possible compression, more trials = more compression, works best on uncompressed source bmps or png.):

cp file.png filebest.png
for i in {1..100}
do
pngout-linux-athlon-static -r -y file.png filetrial.png
wine deflopt.exe filetrial.png
du --bytes filebest.png filetrial.png | sort -n | awk 'BEGIN {ORS=" "} {print $2}' | xargs cp
done

Note that PNGOUT can read BMP files directly. You don't need to convert them first. But the input should be made 8-bit for best compression, as shown before.

Note that in some cases PNGOUT produces PNG files that don't work on all platforms (due to broken zlib implementations on those platforms).


RSS
HowToMakePNG last edited by sgrunt on 2010-03-06 03:08:16
Page info and history | Latest diff | List referrers