To run this program, see imedit.
If you have a digital camera, or just a scanner, you will need to make minor changes to put the pictures into the form you need before printing, publishing on the web, or sending as an e-mail. This utility is intended to do just this in a simple and repeatable way.
This program does only a few things, but does them well. If you need to do more sophisticated changes, you need a more complex utility.
Though it is basically a simple program, I may add further features in future. It is useful as a testbed so I can try out special facilities which may not be generally available elsewhere.
Using this program you can:
If you want to try out this program, but do not have pictures of your own to hand, you can use the provided library pictures.
For access to this program, you need to install a recent version of the Java environment. See Java Update. Then go to imedit.
The information on this page is also available from within the Image Editor.
There is a zoom bar at the bottom of the window. Use it in conjunction with the window scrolling. This enables you to manipulate large pictures, but also to examine them very closely.
There is also a 'Resize' command. You can use this to view the picture with a different aspect ratio.
Many commands generate new images. The old images are saved, and you can go back to them using 'undo'. You can also use 'redo' to go forward to the images you were viewing before you did 'undo'.
If you keep viewing new images, or changed copies of old images, you will need lots of memory space. Depending on the size of images you are manipulating, you should set a limit to the number of 'undo' images which are kept.
Each current image requires 3 bytes per pixel - 12 M bytes for a 4 Mpix image. As a minimum, you need space for the current picture, plus the next picture you want to generate, plus any undo or redo images. Some commands require extra space.
You can limit the number of undo images. This is particularly important if you are working with large images of 3 Megapixel or more.
You can generate a report on the amount of memory in use.
If you use lots of memory, you will need a corresponding amount of virtual memory space, and sufficient space on the disk used.
There are many file formats you could use for your pictures. I recommend you use BMP format for transferring information between programs, such as different editors. When you have a final picture, you should save and compress it using JPEG format. Digital cameras often use EXIF, TIF, or JPEG formats.
This program accepts input in EXIF, TIF, BMP, JPEG, PNG and GIF formats. Output can be generated in BMP, JPEG or PNG format. Not all variants of these file types are supported.
Uncompressed BMP-24 and EXIF/TIF files require 3 bytes per pixel, plus an extra overhead. In my experience, JPEG can produce good quality using about 0.3 bytes per pixel.
For diagrams and drawings, I recommend BMP files. These can be saved with various bits/pixel settings. BMP-1 will save black and white files with just 1 bit/pixel.
As well as direct access to files, you can also transfer images between programs using the usual 'copy' and 'paste' facilites. Copy and Paste require Java 1.4.
If you are working with very large images, note that an image made available for copying to the system clipboard requires memory space even if it might otherwise have been discarded. Copying another image, or using another program to copy to the system clipboard, should allow the memory to be reused.
There is a 'Clip' rectangle. The control frame for this can be created in any of three modes, depending on whether you want to specify the rectangle by the left and right edges, or by one of the edges and the width.
The clip rectangle originally contains the full frame. Adjust the position of the edges using the scrollbars, or specify the position in pixels.
When you have specified the exact area you want, you can create a new image using 'DoClip'.
Everything connected with the CLIP process operates on exact pixel locations, so there is no re-rendering of the picture.
The "left, right" coordinate system is probably the easiest to use, as it allows you to move the edges of the box independently. If you know the width and height of the clip you intend to set up, you can specify the coordinate using "left, width" or "width, right". If you intend to re-size the image before clipping, use the "mid posn, final size" setting, which allows you to specify the size of the clip after resizing.
You can change from one system to another at any time. I recommend you start with the "left, right" system, then change to the "mid, final" system if the exact size of the final image is important.
You can specify the size and shape of the picture using 'resize'. The resize dialogue shows how the image would look in the new shape. You can still use zoom and scroll to move around the picture.
There is an option to maintain the aspect ratio of the picture. If you wish to stretch one dimension more than another, you need to set the proportion to 'free' rather than 'fixed'.
If you want to save the picture with a new size, generate a new picture using the 'render' command. This will probably involve some re-rendering, with possible loss of detail.
It is not necessary to resize the picture before printing, as this is done automatically in the print process.
How often do you see a picture with the horizon not quite horizontal? This is easy to fix using 'rotate'.
This operates in much the same way as 'resize'. Select the rotation you require to see the effect. When you are happy, use 'render' to generate a new image.
A single 'render' operation will both rotate and resize an image. As render inevitably involves some loss of detail, it is better to combine the operations.
You will notice a significant delay in showing the picture when rotation is in effect. The 'render' operation removes this delay.
You should 'render' the rotated image before printing it. You will also need to clip the resulting picture to remove the rotated edges.
There are various simple transforms you can apply to a picture, including simple rotates and reflections. These transformations generate new images by exact transformation of the original data.
'Grayscale' will remove the colour from a picture, leaving only a gray image. It may be particularly useful for scanned documents, where the colour is not important. A grayscale image contains a maximum of 256 different shades of gray, so it can be saved as an 8-bit/pixel BMP file.
'System Colours' reduces the number of colours used to just 216. This is generally not a good idea for picture files, but may be useful for scanned drawings and diagrams, where colours are distinct. The resulting image can be saved as an 8-bit/pixel BMP file.
'Black & White' reduces the picture to a black and white image. It may be useful for scanned documents. The resulting image can be saved as a 1-bit/pixel BMP file.
Getting the exposure right has always been a difficult matter in photography. If you photograph a dark object against a bright sky, you are likely to see little detail in either the subject or the sky.
Increasing the exposure may reveal more detail in the subject, but will was out the sky completely. Decreasing the exposure may show the clouds in the sky, but the subject will be very dark.
Getting things right in difficult situations requires more control.
The exposure control module allows you to see what values of the red, green and blue pixels are in use, so you can tell how they can be adjusted to improve the picture.
The adjustment is done using 4 control sliders. The central pair control the position and exposure at pixel values corresponding to the red line. The left and right sliders control the left and right portions which will be unchanged when the central area is adjusted.
Using these facilities, you can adjust the exposures as you wish. The pixel values for each colour is normally transformed in the same way. You can transform the red / green and blue values either separately or in combination.
When exposure control is in operation, many of the other menu features are temporarily disabled. You can preview the new picture, and either accept or cancel the exposure compensation.
If the exposure control dialogue is dismissed without accepting the changes, the original picture will be restored, and the changes lost.
Though the image editor contains a basic print function, there is a separate image print utility which will print several images on one sheet of printer. I would advise you to use this. Simply copy and paste your image across to the image printer.
To use the print utility within Image Editor, first set up a print area using "Print Setup". You can specify the size and position of the picture on the page using the printer dialogue.
Beware that the picture will be expanded to fill the entire page, unless you limit the size using the margins.
The size of the drawing area is reported in terms of 'points'. One inch is equivalent to 72 points.
Once you know the size and shape of the paper area, you can see how the picture would look using the 'resize' dialogue.
There are potential problems printing in Landscape mode, using Java 1.4.2, and definite problems with Java 1.5.0. Please avoid printing in Landscape mode.
This program, the documentation and all associated materials are copyright to the author.
I hope you find it useful, and that you enjoy using it for the purposes for which it is intended.
If you use my software to generate pictures and publish them on your web site, I would appreciate it if you would acknowledge by publishing a link to my site.
The user accepts all risk for any damage which may be caused by the malfunction of this software or otherwise. The program should be used in accordance with the laws of any authorities which may claim jurisdiction.
I would be interested to hear about your experience in using this program, including any suggestions for improvements.