============================================================================
                          ChangeFSI desktop usage
============================================================================


This file gives instructions for using ChangeFSI from the desktop.


Introduction
============

ChangeFSI is a useful program for converting and displaying image files of
various formats. These images can then be converted into sprites or JPEGs
for viewing with RISC OS applications such as !Paint and !Draw. (Note that
versions of !Paint and !Draw supplied with RISC OS 3.5 and earlier cannot
import JPEG files.)

ChangeFSI stands for 'Change Floyd Steinberg Integer' (ChangeFSI performs
Floyd Steinberg error diffusion dithering).

You should make sure that your conversion and subsequent use of an image
does not infringe on any copyright that the image may be under.

ChangeFSI can read image data, scale the data to improve an image, change
the x and y size, sharpen an image and write the result using error
diffusion dithering in one step (so it provides the best possible quality).
All operations are carried out with 32-bit fixed-point numbers (three per
pixel in the case of a colour picture).


Starting ChangeFSI
==================

To start the application, double-click on the !ChangeFSI icon.


Using ChangeFSI
===============

1) Display the directory that contains the file for the image to be
   processed.

2) Choose whether to save the image as a sprite or JPEG file.

3) Change to a desktop screen display mode that you wish to view and store
   the image in, if you're exporting to a sprite.

   ChangeFSI automatically converts the file to give the best possible image
   for any screen display mode. For example, if you choose a 16-colour
   display mode ChangeFSI will produce a 16-colour image; if you choose a
   32-thousand colour mode ChangeFSI will produce an image with 32 thousand
   colours.

4) Drag the image file's icon onto the ChangeFSI application on the icon bar.

   ChangeFSI then attempts to convert the file to give a RISC OS sprite, or
   a JPEG file, displaying the result.

Note: ChangeFSI may not retain transparent sprite pixels during processing.
Transparent pixels can be changed to a colour, depending on the screen mode
(e.g. transparent pixels in a 16-colour sprite become white in a 256-colour
sprite).


Picture formats
===============

ChangeFSI can convert many types of images to a sprite or JPEG file. These
include the PC graphics formats TIFF, PCX, PIC and IMG, the Amiga format
IFF, the Compuserv GIF format and the JPEG format (see page 325 for a full
list).

ChangeFSI can also convert sprites or JPEGs from one display resolution into
another. Be careful, though: every time you recompress a JPEG file it loses
some information. Process a file first, and only save it as a JPEG once,
right at the end.


A couple of hints on memory usage
=================================

If you're short on memory, drag the Next slot (in the Tasks display window)
down to 320k. If you're converting wide images (e.g. PhotoCD images up to
3072 pixels wide) increase the Next slot to 500k or more.


Icon bar menu options
=====================

This section tells you how to use ChangeFSI's menu options.

Scaling options
---------------
The Scaling options set which scale factor you wish to apply to your image.
You can also transform, rotate or mirror the image.

Scale 1:1 1:1 gives a full-sized image (the same dimensions as the
original). The other Scale options set different preset scaling ratios.

Custom gives you finer control over the size of the output image. You can
either set your own scaling ratio by filling in all four boxes, or you can
set the size in pixels by filling in the left x and y boxes only, leaving
the right boxes blank.

Scale to fill scales the image so that it covers the entire screen area at
the current display resolution; this may distort the aspect ratio.

Ignore source pixel size ignores any source information about the pixel
size. This can be useful if you have images that use a non-standard pixel
size. The pixels are all considered to be square.

Ignore pixel aspect ignores all the size information in the source file.
Both source and output pixels are considered to be square.

Lock picture aspect prevents the Scale to fill and Custom options from
stretching the image horizontally or vertically. The output image will fit
within the size you specified; it may be smaller than you asked in one
direction only, to avoid changing its aspect ratio.

Rotate can shift an image through 90 (+90 is anticlockwise).

Mirror performs left/right and up/down mirror operations on an image.

If you select Rotate and Mirror, the rotation is performed first.

Processing options
------------------
The Processing options control the image processing used in the conversion
and display of the image. You'll notice that all of these options are 'off'
by default; you will not normally need to change these settings.

Expand dynamic range will expand the range of colours in the image. This
normally brightens the image. It expands the dynamic range of a picture to
full scale.

Histogram equalisation will most often result in a worse picture but it can
be used to recover detail from an otherwise useless image. Alternatively you
can use it to look at information locked in a small part of the input scale.

Disable dithering will disable Floyd-Steinberg dithering. This will usually
result in an inferior image.

Invert input will result in your colour images having their colours
inverted. Black and white images are also inverted.

Brighten picture will produce a picture that is slightly brighter than it
should be. Useful if you have dark pictures. This option only works with
monochrome pictures.

Black correction is useful if you want to print the image on a laser
printer. You should use a number between zero and 128, though values between
32 and 64 usually give the best result; experiment. Images treated in this
way will give a poor result when viewed on screen. This only works for 1bpp
(black and white) output.

Gamma correction is used to correct the image quality as displayed on your
monitor. Low values of gamma (0 to 1) make colours darker and high values
(above 1) make them lighter. Gamma correction is most often used to correct
images that have been scanned in with a scanner. Different monitors may need
different Gamma Corrections. A standard value is 2.2 (TV industry standard).

Pre-sharpening is used to sharpen the edges of objects in the image. Values
between 10 and 20 can be used to sharpen an image. Values between 20 and 30
can be used to compensate for the blurring introduced by the dithering
process.

For example, a value of 24 will counteract the general dither blurring. A
value of 20 is noticeably sharp. All values from 1 to 99 can be selected.

Smoothing does the reverse of sharpening; it smoothes the edges of objects
in the image. You can use values between 1 and 23, with low values giving
the most smoothing. Values between 1 (the default) and 3 can be used to blur
an image. Values between 3 and 10+ can be used to reduce noise in an image.

Output options
--------------
The Output options control output to JPEG, or the screen mode in which
sprites are created.

Sprite Output options
·····················
To output an image in sprite format, choose Sprite Output from the icon bar
menu and set up the output options:

Colour gives an image in colour.

Monochrome gives an image in shades of grey.

Special allows the use of special file suffixes. These are the same as the
<mode> parameter described in the on-line documentation file CmdBasUse.

Use current mode outputs the image for display in the current desktop
Display manager mode.

Old mode allows you to output the image for display in an old-type screen
mode:

Enter a backward-compatible screen mode number. We don't recommend that you
use this method (it is overridden if you set a colour mode and then use the
Monochrome button).

The Mode number is only useful in old-type screen modes. It's an information
box (you can't enter anything into it). When Use current mode is selected,
the mode number generated with new style screen displays has no
significance.

Colours: The two rows of 2, 4, 16, 256, 32K and 16M buttons set the number
of colours in the output image. The top row beside the square box chooses a
square pixel mode, and the lower row beside the oblong box chooses a
non-square (90 × 45dpi) screen mode. For monochrome output the 2, 4, 16 and
256 buttons set 2, 4, 8 and 16 greys respectively, and you cannot use the
32K and 16M buttons.

JPEG Output options
···················
To output an image in JPEG format, choose JPEG Output from the icon bar menu
and set up the output options:

Colour gives an image in colour.

Monochrome produces a monochrome image.

Quality can take any value from 0 to 100 and is passed to the JPEG
compression code. The default value is 75, but you can change this using
Save choices. The default value gives the best compromise between quality
and compression.

Reprocess
---------
This option reprocesses the file according to any new options you may have
set.

Fast
----
This option speeds up the processing of the image by blanking the screen
during processing. If there is no benefit to be had from doing this, the
option will be greyed out.

Save Choices
------------
This option will save any changes you have made to the ChangeFSI options so
that you can use these options as your default options next time you run
ChangeFSI.

Quit
----
This quits the application, removing it from the icon bar.


Image menu options
==================

Once your image has been produced you can press Menu over the image to
display a menu of information about the input and output images.

Image Info gives the information about the output file.

Source Info gives the information about the source file.

Range Info gives you information about the dynamic range of the image.

Zoom allows you to change the magnification of the image. This is not the
same as scaling the source image.

Save image allows you to save the image as a Sprite file or JPEG file (this
depends on the setting in Output Options - see page 323).

Reprocess allows you to process the image again using any options you have
changed on the main menu.


System variables
================

By default ChangeFSI uses a 128K cache to speed processing; in particular,
JPEG files that fit inside the cache will be read much more quickly. You can
change the size of this cache by setting the variable ChangeFSI$Cache. For
example:

Set ChangeFSI$Cache 256K

You can also set the system variable ChangeFSI$PCDIndex to change the
PhotoCD resolution that is read. The default value is 3, which corresponds
to the base image.
