home *** CD-ROM | disk | FTP | other *** search
- !CFSIscale
-
- With thanks to Data Store for their 'on-line help' code
-
- Help on the use of !CFSIscale v.1.30 - © M R Davies - December 1992
- ===================================================================
-
- 1. Introduction
- ===============
-
- In order to obtain the best results when printing images from the
- screen, and bit-images (Sprites) in particular, it is important that
- as much information as possible is preserved from the original image
- within the image to be sent to the printer and that its x-y pixel
- resolution should match that of the printer to be used, on a 1:1
- basis, - taking into account the final desired size of the printed
- image.
-
- Since many images to be sent to a printer will be of a different
- size and/or aspect ratio to the original and with varying x-y pixel
- counts, the need for accurate scaling prior to printing is
- essential.
-
- If less than optimal scaling is used then there is a risk that
- information will be lost and/or that interference patterns may be
- introduced - especially when dealing with scanned and digitised
- images. The printer should not have to do any scaling on its own
- account for optimal results and this is especially evident when
- attempting to get the best results from colour printers such as the
- HP500C or PaintJet.
-
- The notes accompanying Acorn's "!ChangeFSI" cover these points as,
- in more detail, do those recently released with the updated RISC-OS
- 3.xx Printer Drivers covering the use of "!ChangeFSI". An extract
- from the latter ( © Acorn ) is appended to these brief Help notes.
-
- Whilst the calculation of the appropriate factors to be
- incorporated in "!ChangeFSI" is a straightforward mathematical
- exercise, it is a tedious one to have to perform each time a new
- sprite or print size etc. is required. With this in mind, this small
- application was developed to enable any values for printer x + y
- resolutions, together with a required print width, height or both
- width and height, to be used to quickly calculate the scaling
- factors required by ChangeFSI.
-
- It should be noted incidentally that the example calculation used
- in the Acorn notes, referred to above, could be misleading since it
- does not reproduce the input sprite's aspect ratio in the calculated
- printout. This corresponds to choosing values (possibly without
- regard to the sprite's aspect ratio) for both width AND height in
- "!CFSIscale" rather than just width OR height which will preserve
- the original aspect ratio of the input sprite in the printout and
- might be the more usual printing requirement.
-
- 2. Operation of "!CFSIscale"
- ============================
-
- 1. Double click on the application to mount on the icon bar in
- the usual way.
-
- 2. A standard info box opens on clicking MENU over the icon bar
- and contains the usual Info, Help (this file) and Quit options.
-
- 3. Click SELECT over the icon bar to open the "!CFSIscale"
- window. This can be moved, sent to the back or front or closed in
- the normal way.
-
- 4. Click SELECT over (a) the desired printer resolution (300x300
- dpi is the default): (b) the desired final print dimension(s) to be
- entered - Width only, Height only or both Width + Height ("Width
- only" is the default) - and: (c) the desired units (inches or cms).
- Any other boxes will then be de-selected.
-
- 5. Enter + <RETURN> the desired printer resolutions (if "Other"
- has been selected) followed by the required final print dimension(s)
- in inches/cms + <RETURN> and the input sprite's X- and Y- pixels +
- <RETURN>. The "CALC" box may also be clicked at any time.
-
- 6. Values to be entered in "!ChangeFSI"'s scaling boxes will then
- be calculated. These can be picked up from "!CFSIscale" and
- transferred to "!ChangeFSI" using a utility such as !Transfer from
- Apricote Studios or entered by hand. Input variables and printer
- resolutions may be changed at any time and succesive strokes of
- <RETURN> or a click on the "CALC" box will re-calculate the new
- scaling factors.
-
- 7. The cursor may be moved around the window's boxes in a
- sensible fashion by the use of the cursor keys as well as the mouse
- pointer and most "silly" entries will throw up an error and ask for
- new values to be re-entered.
-
- N.B. Do not forget that images from both !Paint and !Draw print
- out at 90 dpi from the screen. Printing scales for X- and Y- axes
- should therefore be adjusted by a ratio of 90 : X- or Y- printer dpi
- in !Paint, or scaled within !Draw by the appropriate factor(s),
- before printing. If this is not done the resultant printout will be
- of the wrong size!
- Example : If printer resolution is 300x300 dpi then scaling in
- !Paint's print box is 90:300 and the scaling or "magnification"
- factor for the image in !Draw, before printing, is 0.30 (90/300 =
- 0.30).
-
- 3. Extract from Acorn's release notes with RISC-OS 3.xx !Printers
- =================================================================
-
- " Using !ChangeFSI for colour bit image printouts.
- ------------------------------------------------
- The colour matching of the printer drivers is not always quite what
- it could be, and how good it is varies depending on the image being
- printed. If you are printing bit images (ie. sprites) to colour dot
- matrix pinters, an alternative is to use !ChangeFSI on the Support
- disc. This tends to give better colour matching (it is certainly
- different and vision is very subjective) and it gives you more
- control. Doing this requires care to ensure that !ChangeFSI and the
- printer drivers do not fight with each other. It also requires lots
- of memory for large images eg. you will need 8MB of memory to print
- full A4 at 360 by 360 DPI, and to print full size A3 at 360 by 360
- DPI 16MB of memory is just about enough. Obviously lower resolutions
- and smaller output sizes will take less memory eg. 180 by 180 DPI
- full size A4 can be printed on a 2MB system and 180 by 180 DPI full
- size A3 can be printed on a 4MB system. Halving the resolution
- divides the amount of memory needed by four.
-
- There are two very important steps. The first is to set the "Output"
- window of !ChangeFSI to "Mode" 27 (or 31 ie. 4 bits per pixel,
- square pixels), "Use current mode" off, "Ignore pixel aspect" off,
- and select "Special:" and enter "D" in the special box. For the
- technically minded this tells !ChangeFSI to produce output in terms
- of 1 bit of each of red, green and blue ie. saturated colours. There
- is an exact mapping from this to the CMYK (Cyan, Magenta, Yellow and
- Key black) colour space used by the printer drivers and hence they
- can accurately print the output from !ChangeFSI.
-
- The other important step is to get the output from !ChangeFSI to be
- exactly the pixels that will be printed on the paper, so that the
- printer drivers do no scaling. You will use !Paint to print the
- output from !ChangeFSI, and in !Paint there are 90 dots to the inch
- (90 DPI). So for example if you are printing to a 9 pin colour
- ribbon printer at 120 by 72 DPI, you need to set the "Scale x" to
- 90:120 and the "Scale y" to 90:72 in the !Paint print dialogue box.
- For a 24 pin printer at 180 by 180 DPI it would be 90:180 and
- 90:180, and for the Canon BJC-800 bubblejet printer at 360 by 360
- DPI it would be 90:360 and 90:360. Obviously to be able to do this
- the image needs to have been scaled correctly in !ChangeFSI
- otherwise it will be the wrong size, and will be distorted on a 9
- pin printer.
-
- To get the scaling correct in !ChangeFSI, you need to look at how
- big in pixels your source image is, work out how many printer pixels
- you want to turn that into, and scale it appropriately. It is worth
- scaling something up in size, particularly if there are a lot of
- colours in the original (eg. a 24 bit master) as this will give
- !ChangeFSI more pixels to play with in the error diffusion and hence
- the colour matching will be better. For example you have a 24 bit
- master image which is 1384 by 1760 pixels in size. You are going to
- print this on A4 paper to a 9 pin printer at 120 by 72 DPI. A4 is
- 8.269 by 11.694 inches. To cater for the fact that the printer can't
- print to edges of the paper, knock 10% off which gives 7.517 by
- 10.631 inches. Multiplying those sizes by the 120 by 72 DPI
- resolution gives 902 by 765 pixels required as the output sprite
- size. In the "Scaling" window of !ChangeFSI, set "Ignore pixel size"
- to off and select "Custom" scaling. The top size (for horizontal or
- X scale) should be set to 902:1384 and the bottom size set to
- 765:1760. You may select either (or both) of "Mirror L/R" and
- "Mirror U/D" without affecting anything else, but if you select
- "Rotate" you will have to think carefully about the affect this will
- have on the pixel sizes. Print it straight first and then experiment
- later.
-
- The only other thing you need to do is apply whatever "Processing"
- you want in !ChangeFSI. It has been found that on 24 pin colour
- ribbon printers and high resolution inkjet printers (eg. Star
- LC24-200 at 180 by 180 DPI and Canon BJC-800 at 360 by 360 DPI)
- "Gamma correction" turned on and set to 3.0 works quite well. For a
- 9 pin colour ribbon printer (eg. Citizen Swift 9 at 120 by 72 DPI)
- the gamma correction needs to be less; around 1.6 to 2.0 works well.
- To lighten the image increase the gamma correction and to darken it
- decrease it. Changing it in increments of about 0.4 seems to get the
- right balance between changing too quickly or too slowly.
-
- You are unlikely to need any of the other "Processing" options
- unless there is something actually wrong with the original image
- which needs correcting, in which case it would also need correcting
- even if you were going to just use the printer drivers to do all the
- work instead of using !ChangeFSI.
-
- Set the printer drivers up to be the highest colour resolution you
- have enough memory for eg. 120 by 72 for 9 pin printers and 180 by
- 180 for 24 pin printers. You may use either "Colour, small halftone"
- or "Colour, dithered" for the "Quality:" field. In practice it has
- been found that "Colour, dithered" tends to give more pleasing
- results particularly at higher resolutions as it tends to smooth out
- the graininess introduced by using "Special:" of "D" in !ChangeFSI.
- You should try both and see which you prefer. "Colour, dithered"
- takes longer and needs more memory however. "
-
- ==========================
-
- 4. Final note
- =============
-
- I hope that you find the use of optimal scaling gives the
- improvement in printer output that I have found and that this
- application removes some of the tedious pencil + paper arithmetic
- used in the calculations.
-
- All comments, queries and details of your experiences would be
- welcomed - especially from HP500C users.
-
- Malcolm Davies
- Marebrook Cottage
- Newborough
- Burton on Trent
- Staffs DE13 8SP Tel / Fax: 0283-75345
-
- December 1992
-