AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
May 2004

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2004.05.15 18:00 "tiffset usage, ResolutionUnits", by Richard Morris
2004.05.15 18:52 "Re: tiffset usage, ResolutionUnits", by Frank Warmerdam
2004.05.16 07:18 "Re: tiffset usage, ResolutionUnits", by Andrey Kiselev

2004.05.16 07:18 "Re: tiffset usage, ResolutionUnits", by Andrey Kiselev

On Sat, May 15, 2004 at 02:00:14PM -0400, Richard Morris wrote:
> Can anyone point me to any documentation on usage of the "tiffset"
> utility? I am trying to convert ResolutionUnits on Tiff files from cm
> to inches, and am not successful so far.

tiffset is not a complete ready to use application yet. Fortunately it
is pretty simple to achieve your goal using the following code:

#include <stdio.h>
#include "tiffio.h"
	
int main(int argc, char* argv[])
{
	TIFF *tiff;
	double xres = 0.0, yres = 0.0;
	
	if (argc < 2)
		return 1;

	tiff = TIFFOpen(argv[argc-1], "r+");
	if (tiff == NULL)
		return 2;
	
	/* For list of available tags and tag values see tiff.h */
	if (TIFFSetField(tiff, TIFFTAG_RESOLUTIONUNIT, RESUNIT_CENTIMETER) != 1)
                fprintf( stderr, "Failed to set ResolutionUnit.\n");

	/* Don't forget to calculate and set new resolution values */
	if (TIFFSetField(tiff, TIFFTAG_XRESOLUTION, xres) != 1)
                fprintf( stderr, "Failed to set XResolution.\n");
	if (TIFFSetField(tiff, TIFFTAG_YRESOLUTION, yres) != 1)
                fprintf( stderr, "Failed to set YResolution.\n");

	TIFFRewriteDirectory(tiff);
	TIFFClose(tiff);
}

But be warned that the new TIFF directory will be added to the file each
time running that program, increasing the file size.

> I see from the libtiff manual that the tag value for ResolutionUnits
> is 296, but I don't know how to set the value. From tiffdump output, I
> saw that tiff files with resolution in cm output "ResolutionUnit (296)
> SHORT (3) 1<3>", while tiffs with resolution in inches output
> "ResolutionUnit (296) SHORT (3) 1<2>".

That is right, inches coded by the value 2, centimeters by the value 3.

							Andrey

-- 
Andrey V. Kiselev
Home phone:  +7 812 5274898  ICQ# 26871517