pngcheck is the official PNG tester and debugger. Originally designed simply to test the CRCs within a PNG image file (e.g., to check for ASCII rather than binary transfer), it has since been extended to check and optionally print almost all the information about a PNG image and to verify that it conforms to the PNG specification. It also includes partial support for MNG animations.
The pnmtopng package contains the official pnmtopng and pngtopnm utilities for use with the rest of the PBMplus/NetPBM suite. They are among the best PNG-supporting applications available, with automatic detection of grayscale or palette images and excellent heuristics for creating the smallest possible PNG images.
These are the demo programs that accompany O'Reilly's "PNG: The Definitive Guide." rpng is a simple file viewer with the ability to set a background color when displaying transparent PNGs. rpng2 is a progressive PNG viewer, designed to work like a web browser (though it contains no network code); it can generate a background image when displaying transparent PNGs. wpng is a simple converter from NetPBM to PNG format; in most respects it is much more limited than pnmtopng, but it supports interactive entry of PNG text annotations and will generate noninterlaced PNGs on the fly (rather than buffering the entire image first like pnmtopng). The viewers include simple front ends for both X and Win32; the converter is a command-line app that compiles on Unix, Windows, and probably other platforms.
This is a simple command-line utilitiy to convert images from TIFF to PNG format. It is primarily useful in dealing with TIFF images that contain alpha channels (transparency information), since the NetPBM suite is (currently) ill-suited for such conversions. A few test images are included.
UnZip will list, test, or extract files from a ZIP archive, commonly found on DOS and Windows systems. A companion program, Zip, creates ZIP archives; both are part of the Info-ZIP project. Both programs are compatible with archives created by PKWARE's PKZIP or Nico Mak's WinZip, but in many cases the program options or default behaviors differ.
Zip is a compression and file packaging utility for Unix, VMS, DOS, OS/2, Windows 9x/NT, Amiga, Atari, Macintosh, BeOS, SMS/QDOS, MVS, VM/CMS, and others. It is analogous to a combination of the Unix commands tar(1) and compress(1) and is compatible with PKWARE's PKZIP and Nico Mak's WinZip. It's part of the Info-ZIP project.
png2linuxlogo takes an 80x80 color-mapped (palette-based) PNG of 223 or fewer colors and converts it to a header file suitable for inclusion in the Linux kernel as the full-color boot logo. It does not modify the 16-color or black-and-white boot logos. This allows standard image editing tools such as the GIMP or XPaint to be used to create Linux boot logos. It works with 2.2 and 2.4 kernels.
check is a simple commandline utility to calculate CRC-32 or Adler-32 checksums on the fly (that is, as a filter within a command pipeline), or to calculate such checksums on a list of files given as arguments. It is fast and was designed to be used for verification of backups and archives written to semi-reliable media (e.g., tapes), but it can also be used to compare files against versions stored within ZIP archives (same CRC) or to verify one-to-many copies without the need for multiple byte-for-byte comparisons.
img2pdf is a simple commandline utility to convert a list of PNG, TIFF, or JPEG images to a single PDF document, one image per page. It was designed specifically to convert scanned pages to PDF format, but it will accept images of any aspect ratio and scale them to full page size (which, in general, will not maintain the aspect ratio). The hard work is performed by the Panda PDF library and its dependencies.
The XV "jumbo" patches are a pair of aggregate patches against XV 3.10a, which was last released in December 1994. The first jumbo patch incorporates roughly two dozen bugfixes. The second patch encompasses almost as many enhancements, including support for additional image formats like PNG, PhotoCD, and PDF; performance improvements; and new features such as mouse-wheel support, alpha blending against a background color, and improved dithering for 15/16-bit displays. All patches available from the official XV site are included, as well as numerous other patches from around the world.
Re: problems with colour selection algorithm
(Wow, freshmeat's quote-formatting sucketh greatly...)
I've looked at your test images in fair detail, and there are at least two issues at play here (though they're related). The first is simply that the Photoshop version is basically a GIF. That is, it's formatted as a PNG, but it may as well be a GIF: it's got one completely transparent palette index, and everything else is completely opaque. I assume you tried displaying it against a background color that's not black; it looks like crap. There's no antialiasing at all.
The second issue is the color selection for the opaque parts. You're correct that both pngquant and pngnq have done a poorer job of that than Photoshop did, but what you have to realize is that it's a zero-sum game: if you want a small palette and nice colors, then you give up anitaliasing (Photoshop); if you want a small palette and decent antialiasing, then you give up the nice color selection (pngquant/pngnq); and if you want both nice colors and decent antialiasing, then you spend some bytes on a decent-sized palette--say, 128 to 256 entries (pngquant/pngnq with appropriate target, not present in your test set).
In short, PNG does not support indexed color with a separate alpha channel--it's a single (index) channel backed by an RGBA-palette. If you want more than one shade at the edge to have some level of transparency, then you need to spend a palette entry on each and every one of those pixels.
As a side note, keep in mind that every palette entry is potentially an approximation in all four samples. In particular, you can end up with some formerly opaque pixels becoming slightly transparent--typically those that are shared between the interior and the edge in a case like this. This is visible to some extent in all three of the pngquant/pngnq images (or do something like "pngtopnm -alpha foo.png | xv -expand 8 -" to inspect just the alpha "channel", for example).
Re: problems with colour selection algorithm
> I noticed that some images converted by
> pngquant are lower quality compaired
> with the photoshop "save for
> web" feature. [...]
If you have a sample image (original, pngquant version and corresponding command, and Photoshop version), you could send it to me. But I suspect you've simply run into a fundamental limitation of the median-cut algorithm.
A modified pngquant that instead uses the NeuQuant algorithm is also available; check the PNG image-converters page or your favorite search engine for "pngnq". Please let me know if you find its quality significantly better (or worse ;-) ).