Rect Joiner

This version of the GIF image joiner software will join any normal GIF format images and produce a single resulting image in either GIF or TIFF format. This program has the advantage that it does not store the entire image in memory at one time. Only one row of component images is stored in memory at one time when large output images are being produced. Therefore very large final images can be produced.

This will not work correctly with images from JavaQuat fractal images from versions of JavaQuat earlier than version 2.0 due to differences in the color map for the upper lefthand pixel of each panel, eventhough the separate images appeared to have the same color map.

To run these programs you must run RectFrame.class or ChunckFrame.class. On a Macintosh the double-clickable executables can be used.

Using Rect Joiner

The source pathname indecates the names of the small files that are going to be combined. A button labeled "Browse", next to the source pathname box at the top of the window, will bring up a pathname navigation dialog window if you wish to use this. If you type the pathname in yourself, use shashes, "/", not backslashes "\" on PCs or colons on Macintoshes. Some systems may translate these non-standard directory separators but there is no guarantee of that.

The actual file name may contain multiple instances of two "wildcard" characters. The row number of the input images should be replaced with the "wildcard" character "+". Use one "+" for each digit of the row number. The row number should increase as you move down the picture. The column number of the final image should be replaced with the "wildcard" character "*". Use one "*" for each digit of the column number. The column number should increase as you move from left to right in the picture.

Thus if one were combining 4 small GIF images into one that was twice as wide and twice as high as the components they might be named
/Disk1/myFolder/pict-row0-col0.gif
/Disk1/myFolder/pict-row0-col1.gif
/Disk1/myFolder/pict-row1-col0.gif
/Disk1/myFolder/pict-row1-col1.gif

one would enter the following in the source pathname location:
/Disk1/myFolder/pict-row+-col*.gif

Even if there are multiple digits for the row or column then all components must use the same number of characters for the row and/or column. For instance if there were 25 rows then row 5 would need to have "05" in its pathname and the joiner's source pathname would need two "+"s for the row.

The first row and column need not be numbered 0 or 1. It can be any reasonably sized integer, even a negative number, so long as that number is represented using the same number of characters as all the other rows or columns. The number of characters used for the rows need not be that used for the columns.

If all the component GIF images are in one row then the "+" character need not be used in the source pathname. Similarly, if there is only one column the "*" need not be used. If you want to simply repeat the same component over and over in the resulting image, neither the "+" nor the "*" need be used.

The entries labeled "First +" and "Last +" determine the number of rows in the resulting image. They also determine which component images are used to make the resulting image provided "+"s are used in the source pathname. The numbers, one after another, are substituted for the "+"s as the rows of component images advance. A leading minus sign and zeros are inserted if appropriate.

The entries labeled "First *" and "Last *" determine the number of columns in the resulting image. They also determine which component images are used to make the resulting image provided "*"s are used in the source pathname. The numbers, one after another, are substituted for the "*"s as the columns of component images advance. A leading minus sign and zeros are inserted if appropriate.

The destination pathname indicates where the result will be stored. A button next to it will bring up a file navigation dialogue window if desired. If you type in a pathname use " /", not backslash or colon, for separating pathname directories and the file name.

When all the above entries are as you wish them to be, click on the button at the bottom of the window that says "OK, Join Panels". This will start the program running.

If there are errors the program will stop, usually with sufficient diagnostic messages to let you figure out what went wrong. Common errors are that the image component is not the same size as its neighbors or that there is no file that corresponds to the component pathname. When the problem is identified and corrected try again. You need not shut down the program first.

The file menu can be used to quit by choosing "Quit". If you want to stop in the middle you can choose "Abort" from the file menu.

On the Macintosh, MRJ versions 2.1.1 through 2.2 have a bug that causes the menu items to get a NullPointerException after the program begins running. With MRJ 2.1.1 and later the error happens infrequently. With 2.1.4 it happens all the time. You can always use Cmd-Opton-Escape to quit. If the programming is reading or writing when you do this you should run "Disk First Aid" afterward just to be safe. Norton Utilities is an alternative to "Disk First Aid" that you may want to run instead if you have it. Only the disks involved in the reading and writing will be a concern.

The "TIFF Options" menu can be used to create a TIFF format output file rather than a GIF format output file. This is particularly useful if you are going to have the large image printed and you need to specify the resolution in the file. This menu contains the following:

  1. A check box to turn TIFF format for output on or off. When checked output will be TIFF.
  2. Compression type. In this release the only options are no compression or RLE (Packbits run length encoding). LZW will probably be added in the next release.
  3. Resolution, gives you a dialog box in which you can enter a positive number. The default is 72 pixels per inch if you make no entry. Note that this affects only how tightly your pixels are printed, not how many there are.
  4. TIFF supports an internal (copyright) message. A dialog window lets you enter whatever notice you want. If you change your mind and want no message leave it blank. No message is the default. (On a Mac the circle-c is Option-g.)
  5. TIFF typically organizes images into strips, a certain number of rows of pixels. These will be stored in memory, so don't pick too big a number if you play with this. I would suggest using the number of rows in the component images. This will be the default in the next release probably. If you give no value a reasonable value is chosen.

Chunck Joiner

The chunk joiner is very similar to the "Rect Joiner". It produces multiple output files that are a certain number of rows high and columns wide. Those numbers are specified just above the destination entry box. A label to their left is "Y & X Chunks". The left, or Y, entry is the "row chunck size" and represents the number of rows per output file. The right, or X, entry is the "column chunck size" and represents the number of columns per output file.

If the number of rows, as specified in the "First +" and "Last +" entries is not a multiple of the row chunck size then the bottom set of rows will be the remainder of rows high. Similarly for the columns and the column chunck size.

In other respects the Chunck Joiner is like the Rect. Joiner.