Toolkits and Programming Libraries with PNG Support
Application toolkits allow developers to add image support to their own
applications; this page lists the ones that offer PNG support, either for
reading or writing or both. See also the PNG Source
Code and Libraries page for the free C code on which many of these base
their PNG support. Plug-ins and datatypes that are more relevant to end users
are still listed on the miscellaneous apps and
WWW/online browsers and pages.
As with the other PNG-applications pages,
links to home WWW sites or to downloadable versions are provided where known,
but if a link is broken, check the location and see if an updated version
is available (and please tell Greg!).
Relevant operating systems are printed in (parenthesized italics).
These are listed alphabetically, more or less:
- HIPNG [Alan
Algustyniak] (Windows 9x/NT) - all versions; write-only;
freeware. (This is a Windows-specific static library that simplifies
writing a PNG image to a single call. It has two interfaces, one for
converting Windows DIBs to PNGs and another for writing raw data to a
PNG file. So far it has only been tested by the author under Win95,
so consider it beta software for now. C++ source code and a static
Win32 library are included. See PNG Source Code
and Libraries for libpng and zlib, which are also
required.)
- Image Format Library - see ImageVision Library below
- ImageGear [AccuSoft]
(Unix, OS/2, Macintosh, Windows 3.x, Windows 9x/NT) - version 6.0
and later; read/write; full alpha support?
(This is a programming library supporting numerous image formats, both
display and conversion; it includes Visual Basic and ActiveX
controls/DLLs/whatever, Java support--both classes and Beans--and claims
to be fast.)
- ImageLib [Skyline
Tools] (Windows 3.x, Windows 9x/NT) - all versions? read-only?
(This is a Windows-specific DLL with Delphi support; it claims ``support
for most PNG formats.'')
- Image Library - see PNG Source Code and
Libraries
- ImageMagick [John
Cristy] (Unix/X, VMS/X, Windows 9x/NT+X, Macintosh) - version
3.6.3 and later; read/write; full gamma support; full chromaticity
support? read/write support for minimal MNGs in version 3.9.2 of
22 November 1997 and later; requires libpng and zlib
- ImageMan ActiveX Suite [Data Technologies] (Windows 3.x, Windows 9x/NT) - all
versions? read/write. (This is a set of Visual Basic and ActiveX
controls/DLLs/whatever, for image manipulation and conversion.)
- ImageVision Library [Silicon
Graphics] (Irix) - version 3.0 and later; read/write? uses
libpng and zlib. (This is a multi-format image
manipulation library, also known as ``IL.'' It uses SGI's Image
Format Library to actually read and write image files; IFL is also
available for Windows 9x/NT. IL 3.1.1 apparently corresponds to
IFL 1.1.1, etc.)
- Imagery [Ursus Computing]
(Windows 3.x, Windows 9x/NT) - version 1.0 and later; read/write?
(This was an image-manipulation library with file support for PNG, JPEG,
TIFF, etc.; various modification tools [blur, edge-detect, contrast,
resample, etc.]; and some demo apps, including a viewer. This
product appears to be discontinued, as does the company.)
- Img [Jan
Nijtmans] (Unix/X, Windows 9x/NT) - version 1.0 and later;
read/write; writing of alpha/transparency info only with a patch to Tk;
uses libpng and zlib. (This is a multi-format
image-processing extension for tcl / tk.)
- ImgDLL [Smaller Animals Software] (Windows 9x/NT) - version 3.7(?)
and later; read/write; full alpha and gamma support claimed; uses
libpng and zlib; shareware. (This is a multi-format
image-processing DLL/LIB for use with VC++, VB, etc.)
- Imlib [Red Hat
Advanced Development Labs] (Unix/X, Unix/GTK) - all versions?
read-only; partial alpha support (only binary transparency); uses
libpng and zlib.
(This is a ``general image-loading and rendering library" that
transparently handles many formats without the need for the programmer
to know any details of the formats or of the interfaces to their
programming libraries.)
- Java Advanced Imaging API [Javasoft/Sun] (Java) - version EA2 and later; requires
JDK 1.2 RC1 or Java 2 SDK or later; read/write in April 1999 beta and
later (read-only in EA2 and EA3); full alpha support; full gamma support.
(This is native PNG support in a standard Java extension; it does not
use native code other than zlib. EA2 was pretty memory-intensive,
but reportedly this has been addressed in later releases. See also the
documentation on the PNGEncodeParam and PNGDecodeParam classes, which provide a nice overview of the scope
of the API. The API will be available in two parts, one for image I/O
[including PNG] and one for the rest of the JAI's image-processing
classes. The first can be used independently of the second.)
- Java Image Content Handlers - see PNG
Source Code and Libraries
- Java PNG [VisualTek]
(Java) - all versions; read/write. (This is apparently a
free-for-non-commercial-use PNG library, but its license is rather
confused. It claims to be distributed under the terms of the GNU
General Public License but includes no source code and has some sort
of 30-day evaluation period; the web page also indicates that
only GPL'd programs may use it freely. No info on JDK requirements.)
- JIMI [Activated
Intelligence] (Java) - all versions; read/write; commercial.
(This is an image toolkit supporting a number of formats, including PNG,
either ``natively'' or via Java's ImageProducer / ImageConsumer
model; the Standard edition is royalty-free. PNG support was originally
based on Jason Marshall's PNGImageProducer source code.)
- JVG / Java Vector Graphics [Faidon Oy-Ab] (Java) - version
1.0 and later; read/write (write-only in 1.0 beta 1); shareware, but
1.0 beta 1 is still available and freeware, and PNG support will be
free ``soon'' (possibly as part of the Java Image Saving package).
- LEADTOOLS [LEAD
Technologies] (Windows 3.x, Windows 9x/NT) - various
versions from 1997 and later; read/write; no 16-bit-per-sample color
support; no 2-bit support; no write support for alpha channels. (This
is a programming library supporting the compression and decompression of
numerous image formats; it also comes in Visual Basic and ActiveX
flavors. At one time it supported DOS and OS/2, but there is no sign
of either as of October 1998.)
- PaintLib [Ulrich von Zadow] (DOS, Windows 3.x, Windows 9x/NT, Unix,
etc.) - version 1.3 and later; read/write. (This is a portable
``C++ class library for image file decoding and manipulation. It
currently supports the PNG, TGA, TIFF, JPEG/JFIF, Windows BMP, and Mac
PICT formats.'' Version 2.0 adds an ActiveX control. PaintLib is
available with full source code and ready-to-go makefiles for DOS, Win32
and SunOS; sources for the ActiveX control only compile under Win32,
of course.)
- PiXCL Tools [VYSOR
Integration] (Windows 9x/NT) - version 4.0 and later; read-only; shareware. (This is an
``interpreted image-processing and graphics language toolkit'' for
creating multimedia presentations, demos and imaging applications,
especially for satellite data. The API for the DLL is also available.)
- PixelGraphicLibrary [Peter Beyersdorf] (Windows 9x/NT) - all versions; read/write.
(This is an image-manipulation library specifically for use with
Delphi 2 and 3; it can read and write PNG images. It also includes a
simple demo viewer.)
- PNGHandler [Simon
Clarke] (BeOS) - all versions; read/write; full alpha
support? no 16-bps support. (Older versions
require Jon Watte's BeOS
Datatypes library [239K], but current releases use the Be
Translation Kit. PNGHandler may have been renamed to
PNGTranslator as of version 1.20.)
- Pnglets - see PNG Source Code and
Libraries
- Python Imaging Library [Secret Labs AB / Fredrik Lundh] (Unix, Windows
9x/NT) - version 0.2b3 (read-only) and later; read/write in
version 0.2b4 and later; uses zlib.
(PIL is a freely available image-manipulation library for the Python interpreted programming language,
with extensive file-format support and a powerful Image class supporting
lots of image manipulation and processing methods, including stuff for
on-the-fly image generation. It can also support tcl / tk
if the tkinter package is installed and may once have supported
the Macintosh.)
- QHTM [GipsySoft]
(Windows 9x/NT) - all versions; read-only; no transparency
support.
(This is Russell Freeman's
``Quick, Light HTML Control''; it allows one to display a subset of HTML
within an application. PNG is the only image format currently
supported.)
- Qt [Troll Tech]
(Unix/X, Windows 9x/NT) - version 2.0 and later, or version 1.4x
with the Qt Image IO Extension
Library (commercial only); read/write? commercial, but free for use
in free Unix/X software.
(This is a C++ GUI toolkit, perhaps best known for its use in KDE under Linux.)
- QuickTime [Apple]
(Mac PPC/68k, Windows 9x/NT) - version 3.0 and later; read-only
(read/write coming in 4.0);
full gamma support; full alpha support; uses zlib. Also version 2.5 for
Macintosh with Sam Bushell's
QuickTime
PNG-Importer; read-only. (This amounts to a PNG plug-in for
Mac and Windows apps; it allows any application that knows about
QuickTime graphic importers--even SimpleText--to read PNG files.
A future QuickTime release is expected to support writing them as well.
Note that the alpha support does not extend to QuickTime's use as
an old-style Netscape plug-in.)
- Sixlegs Java PNG - see PNG Source Code and
Libraries
- SuperView Library [Andreas Kleinert]
(Amiga) - version 15.0(?) and later; read/write; shareware.
(This is part of the SViewII application package, formerly called
SuperView; the library reads and writes many image formats.)
- TwistedPixel [Bananas Software]
(Windows 9x/NT) - version 0.9 and later; read/write. (This is
an ActiveX control [OCX] for display/conversion/editing of various image
formats. It can be used with Visual BASIC, Visual C++, Access, Delphi,
etc.)
- Victor Image Processing Library [Catenary Systems] (Windows 3.x,
Windows 9x/NT) - version 5.0 and later, or version 4.x with a
separate
add-on; read/write; commercial. (This is a Windows DLL that can
read and write various image formats. Apparently only the Win32 version
is still under development; the last 16-bit Windows release was 4.25,
and the DOS static library has never been updated past version 3.7.)
Here are the other PNG-related pages at this site:
Last modified 1 May 1999 by
newt@pobox.com , you betcha.
Copyright © 1995-1999 Greg Roelofs.