CHANGES 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. tiff2png
  2. ========
  3. Converts a Tagged Image File Format (TIFF) file into a
  4. Portable Network Graphics (PNG) file.
  5. 5 November 2014 - version 0.92:
  6. Add zlib.h include, which is no longer supplied by png.h.
  7. Remove non-default compile-time configurations. Fixed various warnings.
  8. Rewrote makefile and documentation to match modern conventions.
  9. Removed the static target. The build now requires GNU make.
  10. 12 September 2002 - version 0.91:
  11. No merge or version 1.0 yet, but two fixes: correct scaling for sub-8-bps
  12. RGB and RGBA, and correct big- and little-endian support for 16-bps images.
  13. (Many thanks to Rhett Sutphin for providing test images and quick feedback
  14. on both big- and little-endian machines!)
  15. I also documented a couple more potential gotchas that I can't test at the
  16. moment: lack of MINISWHITE support for RGB and RGBA, and lack of support
  17. for non-contiguous (separated-plane) tiled images. I suspect both are
  18. valid according to the TIFF spec (what isn't...), but I haven't verified
  19. this.
  20. (Btw, 1.0 and the final merge will still happen as soon as time permits.)
  21. 1 July 2002 - version 0.9:
  22. Willem has passed the maintainership of his fine utility to me, and this
  23. release merely incorporates a bunch of saved-up patches, mostly from other
  24. folks. Frank A. Palmieri added support for tiled TIFFs (contiguous only);
  25. TenThumbs (SJT) added auto-detection of 8-bit color data in 16-bit palettes
  26. (which _appears_ to be a long-standing bug in a number of TIFFs, including
  27. some immense geophysical ones from the US NOAA); Nelson Beebe pointed out
  28. a number of C++ comments, which aren't accepted by some C compilers; and I
  29. added support for wildcards under emx+gcc and added some more checks for
  30. out-of-memory conditions. I also updated much of this README to be a little
  31. more coherent. (No, less schizophrenic! No, more coherent! ;-) )
  32. Version 1.0 should be the next release, hopefully soon, and it will finally
  33. merge the rest of Willem's 0.82 changes. (That said, this utility has been
  34. quite stable for quite a few years already, so it can already be considered
  35. "post-1.0" in all but name...er, number.)
  36. 12 November 2000 - version 0.81c:
  37. Oops, I overlooked one of Willem's 16-bit changes, and both of us missed an
  38. earlier, critical bug in the 16-bit code. Thanks to some 16-bit grayscale
  39. test images supplied by Ron Emaus of Pfizer, I was able to do a bit of real
  40. testing and track down the latter problem; version 0.81c fixes all known
  41. 16-bit bugs (although I still don't have any big-endian test files). It
  42. also includes Willem's -invert option, support for YCbCr images with JPEG
  43. compression and for Log(L) images with SGILog compression, and a new Win32
  44. makefile (tested with MSVC 5.0, libtiff 3.5.5, libjpeg 6b, libpng 1.0.8,
  45. and zlib 1.1.3).
  46. 4 November 2000 - version 0.81b:
  47. Willem released a version 0.82 in July, but it doesn't include the changes
  48. from either 0.8 or 0.81 (see above). In particular, it still expects both
  49. an input name and an output name on the command line, and it doesn't check
  50. whether the output file exists before overwriting it, which is quite dan-
  51. gerous for those of us who have grown accustomed to typing "tiff2png *.tiff"
  52. under Unix. (In such a case, the second TIFF file would be overwritten
  53. with the PNG conversion of the first TIFF file.) Willem's version can be
  54. found at http://www.schaik.com/png/tiff2png.html, for those who want to
  55. try it anyway.
  56. In the meantime, back in September I made a version 0.81b with the following
  57. two bug fixes:
  58. - fixed 16-bit-per-sample support (copied from Willem's version 0.82)
  59. - fixed Makefile (no attempt to install non-existent man page)
  60. Presumably Willem will reintegrate his other changes (e.g., -invert option
  61. and contributed multipage support) at some point in the near future.
  62. 5 August 2000:
  63. Willem is back and will be taking over maintenance of tiff2png once
  64. again! (Also, tiff2png URL corrected above.)
  65. 13 February 2000 - version 0.81:
  66. Version 0.81 consists only of fixes/improvements to the -destdir option;
  67. now if no target directory is given, the current directory is assumed.
  68. Thanks to TenThumbs once again.
  69. (Well, I also fixed a compiler warning and made a minor modification to
  70. the makefile, but you get the general idea.)
  71. 26 January 2000 - version 0.8:
  72. I updated tiff2png 0.7 to version 0.8 in January 2000 and tested it
  73. with libpng 3.5.4. Changes include:
  74. - improved Makefile (thanks to tenthumbs@cybernex.net)
  75. - improved memory/resource management (TIFFClose(), fclose(), etc.)
  76. - added -compression option to set zlib compression level
  77. - added multi-file support, including -destdir option
  78. The last item breaks command-line compatibility with earlier versions
  79. (which required exactly one TIFF input name and one PNG output name),
  80. but it brings tiff2png more in line with gif2png--that is, you can now
  81. do "tiff2png *.tif *.tiff" and get the expected conversion of many TIFF
  82. files all at once. (Alternatively, you can do "tiff2png -destdir /here
  83. /there/*.tif" to convert TIFFs /there to PNGs /here. The destination
  84. directory must exist and be writable, of course.) The program replaces
  85. the ".tif" or ".tiff" extension with ".png"; if neither extension is
  86. found, ".png" is simply appended to the TIFF filename.
  87. Oh, and I also took the liberty of changing the capitalization to
  88. "tiff2png"; not only does that match both the actual binary name and
  89. gif2png's convention, it also seemed more logical. (That is, "TIFF"
  90. is an acronym; either all letters should be capitalized or none of them
  91. should be. Ditto for PNG.)
  92. 16 September 1999 - version 0.7:
  93. I updated tiff2png 0.6 of May 1996 to version 0.7 in July 1999. My
  94. changes include the following:
  95. - slightly generalized Makefile, including static-library build
  96. - updated libpng interface
  97. - new libpng error handler (avoids jmp_buf size mismatches between
  98. library and application)
  99. - new usage() function
  100. - PNG pHYs support (aspect ratio, resolution)
  101. - optional new -faxpect option (only if compiled with FAXPECT defined)
  102. The last item is somewhat special-purpose, which is why it's ifdef'd. At
  103. least in my tests with efax 0.9, a Supra fax modem, and the various fax
  104. machines to which I have access at work (including all of their "fineness"
  105. options), *all* incoming faxes arrive with doubled horizontal resolution.
  106. With -faxpect, tiff2png will detect if the aspect ratio is close to 2:1
  107. and, if so, halve the horizontal resolution to give a near-1:1 aspect
  108. ratio. The algorithm is trivial: if both neighboring pixels are white,
  109. the result pixel is white; if both black, black; and if there's one of
  110. each, the result is mid-level gray (127). (This necessarily means the
  111. output file is 2-bit palette-based, not grayscale, since only 8-bit PNG
  112. grayscale includes the mid-level gray, and compression can't recover the
  113. factor-of-four increase in pixel depth.) The results look pretty decent.
  114. Also note that even libtiff 3.4beta028 needs the OLDTIFF macro defined
  115. (see the Makefile comments), at least in all the cases I was able to test.
  116. I don't know what the difference is between my system and Willem's.
  117. Finally, I've removed the (very) old libtiff from the tiff2png 0.7 tar
  118. distribution; newer versions are available from the SGI web site mentioned
  119. above (ftp://ftp.sgi.com/graphics/tiff/).