No bugs!TwoHeaded Software

Tools Documentation

Framage 1.02

Framage is a tool which converts large bitmap images containing multiple animation frames into multiple images each containing a single frame of animation. The utility has a reasonably intelligent algorithm to detect the frames in the large image, so it is not necessary to position the frames particularly carefully - as long as there is clear rectangular area occupied by each subframe, the utility should be able to catch each of the individual frames OK.

It has been fairly typical in the industry for animation artwork to be delivered as a single file containing all animations in the one image. This utility automatically detects the boundaries around these animations and converts each animation frame to a new image file.

History

1.02    New optimisation method added, to cope with overlapping frames
-e switch added (default is the new method, -e selects old)
1.00Initial working version

Usage

This tool is DOS command-line driven. It takes graphics data (BMP, PNG, JPG) as input, and outputs multiple BMP images containing frames subdivided from the input file(s).

Command Line

framage [[-switch] file ]

Items enclosed in square brackets [...] are optional, and may appear zero or more times. Switches are described below. file is a graphics file of BMP, PNG, or JPG format. Wildcards ? and * can be used in the file name. All matching files are processed.
 

Command Line Switches

Switch

Function

Default

-bR,B,G

Set the transparent colour (default is to use colour 0 of palette, whatever that is). By setting the transparent colour (8-bit Red, Green, Blue - eg: white= -b255,255,255) you are telling the tool which exact colour in the image is transparent.

0,0,0
-e

Select the 'elegant' optimisation method, which detects non-overlapping frames. The two optimization algorithms are discussed below.

connected-pixel method

 

Input

Input files may be .BMP, .JPG, or .PNG format.

Bugs

None known. If you'd like to report one, or suggest something, then please let us know!

Algorithm

There are two detection methods. The default method detects frames as 8-connected pixel areas in the original image. An 8-connected area is all those pixels which can be grouped by reason that they are connected to all others in the group through a non-transparent pixel in any of the 8 immediate pixels surrounding any pixel. That sounds complex - but in essence it means that a frame must be a solid - no extra fluffs of dust or trailing pixels are possible - these will be detected as different frames.

The '-e' switch causes detection to be performed using the original 'non-overlapping box' method. This method is quite slow - but the code was very elegant (hence, the -e switch). This detetion method does allow non-connecting pixels in a frame, but requires all frames to have a unique, non-overlapping bounding box of transparency. That is, frames are defined by the detection method's ability to find a non-overlapping transparent rectangle around them. The utility is quite versatile, and will allow non-aligned data - as long as it is not overlapping.

To assist in understanding what this second method is 'seeing', an image mask.bmp is output, clearly showing where the utility has detected frames. If you are finding that only some of the frames in your image are not successfully split up, then the likelyhood is that you have overlapping frame data - though this is sometimes difficult to see.

The default method is the fastest, and works for most cases.

Copyright

The Framage utility and documentation are Copyright ©2001 TwoHeaded Software.

The Framage executable are is supplied "AS IS". TwoHeaded Software disclaims all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The authors assume no liability for direct, indirect, incidental, special, exemplary, or consequential damages, which may result from the use of framage, even if advised of the possibility of such damage.

In short, use at your own risk.

Paintlib

Framage uses a public-domain library for reading graphics files. This library (Paintlib) is available at http://www.paintlib.de/paintlib/, and is an excellent package. Highly recommended, and a big thanks to Ulrich.

 

Get It Here!

TwoHeaded's tools are free for non-commercial use. If you'd like to use the tool for commercial games, please email first.

There are a couple of requests and conditions of use...

a) Please do not redistribute
b) Please report bugs and suggestions!


You may need to find some additional DLL files such as MFC42.DLL

 























Home
Objective
Tumeric
Mode 7
Atari 2600

Site design & contents Copyright ©2001 TwoHeaded Software.
Please ask before using any images/HTML from this site.