Programming Libraries and Toolkits with PNG Support
Maintenance Note
The PNG-supporting applications and toolkits pages are no longer being
actively updated; for several years already, it's been safe to assume
that virtually any bitmap-capable image app supports PNG. Corrections are still
welcome, particularly for "repurposed domains" (park-spam), but
new applications are no longer being added.
|
|
Application toolkits allow developers to add image-handling capabilities
to their own applications; this page lists the ones that offer PNG support,
either for reading or writing or both. Plug-ins that
are more relevant to end users are still listed on the miscellaneous apps and browsers 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:
- 7-Zip
[Igor Pavlov]
(many) - all versions? freeware (LGPL) with C++ source.
(This is primarily a compression-archiver utility, but it includes an
independent implementation of the deflate algorithm used in PNG. [One
would still have to add the zlib headers and Adler-32 checksum to the
output stream before using it in PNG images, however.])
- ActiveListBar [Infragistics] (Win32) - all versions? read/write;
commercial. (This is a navigation control with the look and feel of
Outlook. PNG is supported for various icon sizes and presumably also
for background images, etc.)
- ActiveTreeView [Infragistics] (Win32) - all versions? read-only;
commercial. (This is an extension of the TreeView control that supports
icons, background images, etc.)
- akPNG.datatype [Andreas
Kleinert] (Amiga 68k/PPC/Amithlon) - all versions; read-only;
transparency support (but no alpha support?); native PowerPC support
available; uses libpng and zlib;
freeware.
(PPC versions prior to 45.x, formerly shareware, are now also freeware. Click
here if links
break.)
- Animation MNG ActiveX [JComSoft /Jin Hui] (Win32) - all versions; read-only;
MNG support; shareware? (This is
an ActiveX control for displaying PNG images and MNG animations. It
appears to be a new product as of October 2002 and is available only by
e-mail request.)
- Blitz3D [Blitz
Research / Mark
Sibly] (Win32/DirectX) - all versions? read-only; commercial. (This is an integrated development environment [IDE] incorporating a 3D
game engine, design package, custom programming language [hybrid of
BASIC and C], and compiler.)
- Blorb - see Glk below
- BMGLib
[Scott Heiman]
(Win32) - version 2000-04-07 and later; read/write; uses
libpng and zlib; freeware with source. (This is a
DLL that generally supports simple reading and writing of bitmaps, but
with special emphasis on doing so in OpenGL programs.)
- Ca3D-Engine
[Carsten Fuchs]
(Win32, Linux/X) - all versions? read-only? freeware/commercial.
(This is an OpenGL-based 3D game engine; PNG is supported as a texture
format.)
- CamlImages
[Jun Furuse and Pierre Weis] (Caml) - all
versions; read/write; requires libpng and zlib; freeware
(modified GPL) with source. (This is an image-processing library for
Objective Caml [O'Caml].)
- Carnegie Mellon Graphics
[Geoff Washburn, Mark Stehlik, Jevan Saks, Sabrina Haskell,
Ed Latimer, et al.] (Win32, Mac OS, Mac OS X, Unix) - all
versions? read-only? requires libpng and zlib; freeware
(BSD) with source. (This is a "simple, cross-platform 2D API for C++."
A Java version is being developed.)
- Ch PNG
[Stephen
Nestinger] (Win32, Unix/X, Mac OS X?) - all versions;
read/write; freeware with C/Ch source (for PNG add-on only). (This is a
"Ch interface to libpng." Ch is a proprietary, multiplatform
C/C++ interpreter, and Ch PNG provides a wrapper for libpng that allows
all of its functions to be called from a Ch program, too. Version 1.0
appears to support only Win32 and Linux, however.)
- CImage
[Anthemion Software]
(Win32) - all versions; read/write; freeware (BSD) with C++
source. (This is "an MFC class for manipulating images." It is based
on code written by Alejandro
Aguilar Sierra.)
- ClanLib
[Magnus
Norddahl, Daniel Vogel, et al.]
(Linux, Win32, BeOS) - all versions; read-only; full
alpha support? uses libpng, zlib, Hermes and
optionally ImageMagick; freeware (LGPL) with source. (This is an
SDK for developing games. PNG is an optional image format that can be
used for any image-related task supported by the application, such as
sprites or 3D texturing.)
- Closure
[Gilbert Baumann]
(Unix/X) - all versions; read-only; freeware (GPL) with source.
(This is a web browser written entirely in Common Lisp [the Allegro
variant is preferred], including a basic PNG decoder
[src/renderer/png-images.lisp] and zlib/inflate implementation
[src/net/deflate.lisp]. It appears to have died quietly in
June 1999, however. Note that the home page does not link to the latest
source code; see this directory for newer code. Also see CL-PNG below.)
- CL-PNG
[Harald Musum] (many) -
all versions; read/write; freeware (LGPL) with Common Lisp source.
(This is another PNG and zlib implementation written in Common Lisp.
It appears to have died in June 2001, however, about two weeks after it
started.)
- cl-zlib
[Alberto Riva] (Linux, Win32)
- all versions; read/write; requires zlib; freeware (BSD) with
Common Lisp source. (This is an Allegro Common Lisp wrapper for the
regular zlib shared library or DLL. Like zlib, it provides no PNG
support itself, but it can be used to implement a PNG encoder or decoder.
See also the pure Lisp zlib implementation in CL-PNG, above.)
- CMacPNG
[Noriyuki Horiuti]
(Mac PPC) - all versions; read/write? requires libpng and
zlib; freeware with C++ source. (This is a "class is for
Macintosh to handle PNG files.")
- ComponentOne Chart [ComponentOne] (Win32) - version 6.0(?) and later; write-only;
commercial. (This is a presentation-graphics toolkit with both
interactive and programmable interfaces. It can do both 2D and 3D
charts and supports MSVC, Visual Basic, Delphi, and Borland C++ Builder.
It was previously known as Olectra Chart.)
- Crystal Space
[Jorrit
Tyberghein and the Crystal Space Team]
(Unix/X, DOS, OS/2, Win32, BeOS, NeXTStep/OpenStep,
Rhapsody, Mac OS, Amiga) - version 0.10 and later; read-only;
MNG support (read-only) as of
version 0.96(?); uses libpng, zlib and optionally
libmng; freeware (LGPL) with source. (This is an open-source 3D
game engine written in C++ that compiles on multiple platforms; it also
includes a number of demo levels. PNG support was added by Andrew Zabolotny.)
- CscHTML
[Steven "Count Zero" Kordik]
(Unix/GTK+) - all versions; read-only; full alpha support;
requires libpng and zlib; freeware (GPL) with source.
(This is an HTML widget for GTK+, with both C and Perl bindings. It is
used by the CSCMail browser/e-mail client.)
- CWebImageDC
[Randy More]
(Win32) - all versions; write-only; uses libpng,
zlib and HIPNG [see below]; freeware. (This is an MFC
wrapper class that "provides a memory-based device context into which
an image may be drawn using standard [Win32] GDI calls. The resulting
image may then be saved as either a PNG file or written to a CMemFile for
insertion into a CHttpStream." Source and a demo project are included.)
- CxImage
[Davide Pizzolato]
(Win32) - all versions; read/write; uses libpng,
zlib and FreeImage (see below); freeware with C++ source.
(This is a C++ class to "load, save, display, and transform images in a
very simple and fast way." It is Windows-specific due to "some
particular constructors and the painting functions." Read/write
MNG support is available as a
separate CxImageMNG module.)
- data-demo
[Chuck McCallum] (JavaScript) - all versions; write-only
(though includes read-only Perl parse_png.pl tool to "parse
PNGs into their component chunks and show them as calls to the
data-demo API"); freeware (MIT) with source. (This is a JavaScript
"demonstration of data URI creation" that supports PNG in addition
to MIDI, HTML, and text.)
- DaVinci Graphic Library [Herd Software] (Windows 3.x, Win32) - all versions?
read/write; full 16-bit support; no alpha support? shareware. (This is a
set of DLLs and online documentation that supports conversion and manipulation of
many bitmap and vector image formats. Alpha support appears to be
limited to TIFF and BMP, at least as of version 3.0. German pages also
available.)
- DBPix [ammara.com] (Win32) - all versions; read/write? shareware.
(This is an ActiveX "image control for building database applications
with picture-handling capabilities." It can store and retrieve
compressed images in databases and recreated them on disk in various
formats, including PNG, and it has Visual Basic, C++, and other
language/application interfaces.)
- Delphi [Borland]
(Win32) - version 6 and later; read/write; commercial/freeware.
(Delphi's native PNG support is available via CLX only; the older VCL
component library doesn't support it.)
- DirectFB
[Denis Oliver Kropp, Andreas Hundt, and others] (Linux/fb) -
all versions; read-only; freeware (LGPL) with source. (This is a
"thin library that provides developers with hardware graphics
acceleration, input device handling and abstraction, integrated windowing
system with support for translucent windows and multiple display layers
on top of the Linux framebuffer device." It includes bitmap and video
loaders, including PNG.)
- DirectX [Microsoft]
(Win32) - version 8 and later; read-only? uses libpng and
zlib; commercial. (This is Microsoft's API to expose
hardware-specific features to software, especially 3D acceleration to
games. According to newsgroup
postings by Tony Cox [e.g.,
on 21 May 2001 and 24 Sep 2001], "the D3DX utility library in DX 8.0 has a
comprehensive bitmap file loader that understands lots of file formats,
including PNG." Search Google
for further info.)
- DISLIN [Helmut
Michels] (DOS, Unix, VMS, Win32) - version 7.2 and
later; write-only; freeware or commercial, depending on platform and
compiler. (This is a high-level plotting library for data visualization.
It can do both 2D and 3D plots and supports C, Fortran77, Fortran90,
Java, Perl and Python.)
- Doc-to-Net [Skyline
Tools] (Win32) - all versions? write-only; commercial.
(This is a real-time conversion tool designed to be used as a CGI
application; it allows scanned documents and "unsupported" image formats
to be converted to PNG, GIF or JPEG on the fly and served to the user.
It also supports some basic image-manipulation capabilities such as
edge-detection and anti-aliasing.)
- EZTwain Pro [Dosadi /
Spike McLarty] (Win32) - version 3.0 and later; read/write;
uses libpng and zlib; commercial. (This is a DLL
convenience wrapper for the TWAIN image-acquisition API, callable from
most languages [including C/C++, Visual Basic, Visual FoxPro, Delphi,
LabView, etc.]. It can read, write and scan to PNG.)
- FabPAINT [Fabrice
Foray] (Win32) - all versions; write-only; uses
libpng and zlib; freeware; 197k. (This is a drop-in
replacement for the CAPAINT DLL, which appears to be part of the
commercial CA-Visual Objects
product [and which itself may have been based on an old version of
Ulrich von Zadow's PaintLib, below]. In addition to PNG, it
includes support for TIFF and JPEG.)
- FreeImage
[Floris van den Berg / Hervé Drolon]
(Win32, Linux/Qt, Mac OS X) - all versions; read/write; alpha
support; MNG and
JNG support (read-only) as of
version 2.1.0; ICC profile support as of version 3.2.0; 16-bps support
as of version 3.7.0; uses libmng, libpng and zlib;
freeware (GPL or FIPL) with C++ source. (This is a library/DLL with
support for reading and writing multiple image formats, including PNG;
it also has a growing number of image-manipulation capabilities. Ease
of use has been a design goal.)
- FXPy
[Lyle Johnson]
(Win32, Unix, etc.) - version 0.99.118 and later; read/write?
requires libpng and zlib; freeware
(LGPL) with source. (This is a "Python extension module that provides
an interface to the FOX GUI
library.")
- gd
[Thomas Boutell /
Pierre Joye]
(many) - version 1.6 and later (or version 1.2 or 1.3 with
Greg's gd1.2-png-addon or
gd1.3-png-addon);
read/write; palette support only in versions prior to 2.0; nearly full
alpha support in version 2.0 and later (7 bits rather than 8; only
binary transparency in earlier versions);
requires libpng and zlib; freeware (BSDish) with source.
(This is a popular drawing library written in C. Traditionally it was
GIF-only, with PNG support planned for version 2.0, but Unisys legal
action in 1999 prompted the author [who was also leader of the
original PNG development effort] to add PNG to the 1.x series,
replacing the old GIF support. Version 1.6 had broken transparency and
RGB support, no grayscale support, and in some cases wrote larger
palettes than it needed to, but those problems were fixed in 1.6.1 and
later releases. Support for JPEG and Windows BMP formats was added in
version 1.8, and GIF support was eventually restored, after the LZW
patent expired.)
- GDFP
[Mike Bradbery]
(many) - all versions; write-only; requires gd,
libpng and zlib; freeware (EFFL) with source. (This is a
FreePascal interface to the
gd library above.)
- GDI+ [Microsoft]
(Win32, Win64) - all versions; read/write; commercial
(incorporated into Windows XP and later, and available as a downloadable add-on for apps targeted at Windows 98 and later).
(This is the device-independent graphics API built into newer versions
of Microsoft Windows.)
- gdk-pixbuf
[Federico Mena-Quintero and
others] (Unix/GTK) - all versions; read-only? full alpha support?
requires libpng and zlib; freeware (LGPL) with source.
(This is a GDK library that can load various image formats and render
them into various drawables and buffers with optional scaling and
compositing. Reportedly it will be integrated into GTK+ 1.4.)
- GD.pm
[Lincoln D.
Stein] (Perl) - version 1.20 and later; write-only; requires
gd, libpng and zlib; freeware (Artistic) with source.
(This is a Perl wrapper for the gd library above. Despite the
claim on the home page, newer versions may be available at CPAN.)
- Glk [Andrew
Plotkin, David Kinder,
and others] (Unix/X, Win32, etc.) - all versions?
read-only; freeware. (This is an "interface standard for interactive
fiction," a la Adventure and Zork; there are a number of
platform-specific libraries that implement it, including XGlk and Windows
Glk. Technically, PNG support is required only by the Blorb resource-file layer, but
"the Glk portable I/O library uses Blorb as a resource format." See
also the Glk
archive and Glulxe on the miscellaneous
apps page.)
- glpng
[Ben
Wyatt] (Win32, etc.) - all versions; read-only;
requires libpng and zlib; freeware (zlib license) with
source. (This is a utility library to load PNG images and bind them to
OpenGL textures. Reportedly it is also a good general-purpose example
of how to use textures in OpenGL. As of early 2000, it still includes
the source code for libpng 1.0.2 and zlib 1.1.3, plus a
static Win32 library [glpng.lib].)
- GraphApp
[Lachlan
"Loki" Patrick] (Unix/X, Win32) - version 3 and later;
read/write? uses libpng and zlib; freeware (BSDish) with
source. (This is a cross-platform GUI toolkit with particular emphasis
on internationalization and Unicode support. It includes GNU's Unifont,
stored in PNG format.)
- GraphicEx
[Mike Lischke]
(Win32) - version 8.0 and later; read-only; includes a
Pascal port of zlib; freeware for non-commercial use, with source.
(This is a Delphi [Pascal] extension to load various image formats,
including PNG.)
- GraphiX/FP
[Michael Knapp] (DOS, Win32,
Linux/SVGA) - version 3.0 and later; read-only (write support
planned); freeware (LGPL) with Pascal/assembler source. (This is a
direct-hardware-access SVGA graphics library for FreePascal, with mouse support, font
support, image-handling and image-manipulation capabilities. There is
also an older version of GraphiX for Borland Pascal 7, but it does
not support PNG.)
- GtkHTML
[Anders Carlsson,
Ettore Perazzoli,
Jonas Borgström,
Radek Doulik,
Larry Ewing,
Miguel de Icaza, and others]
(Unix/GTK) - all versions; read-only; requires
gdk-pixbuf, libpng and zlib; freeware (LGPL) with
source. (This is a "lightweight HTML rendering/printing/editing
engine." It was originally based on the KHTML
widget by Torben Weis,
Josip A. Gracin, and
Martin Jones.)
- HIPNG [Alan
Algustyniak] (Win32) - 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. C++ source code and a static Win32 library are included.
See PNG Source Code and Libraries for
libpng and zlib, which are also required.)
- HTMLayout [Terra
Informatica] (Win32) - all versions; read-only; full alpha
support; uses libpng and zlib; commercial. (This is a
lightweight HTML/CSS rendering component [DLL] with no dependencies
on other browsers or browser components. PNG is supported for both
foreground and background images, including with alpha-transparency.
A demo browser app is freely available for download.)
- Ilib
[Craig Knudsen]
(many) - version 1.1.2 and later; read/write; truecolor support
only; no transparency support; requires libpng and zlib;
freeware (GPL) with source. (This is another drawing library, similar
to gd [above] in basic functionality, but with broader
image-format support, different font support [X11 BDF fonts instead of
TrueType], and different sample apps [including a contact-sheet
generator for indexing images]. It also comes with a Perl interface.)
- ImageEn [Hyrix
Technologies] (Win32) - version 1.2(?) and later;
read/write; shareware. (This is a "component suite for image
processing, viewing and analysis" that works with Borland Delphi 3 and
4 and C++ Builder 3 and 4. A corresponding component suite for Visual
Basic, ImageEn
OCX, is also available.)
- ImageFileLib
[Michael Vinther]
(Win32) - all versions(?); read/write;
MNG support; freeware with
Pascal source. (This is a Delphi library to read and write several
image formats, including PNG and MNG. It does not appear to support
the more complex MNG features such as JNG and delta-encoding.)
- Image Format Library - see ImageVision Library below
- ImageGear [AccuSoft]
(Unix, OS/2, Macintosh, Windows 3.x, Win32) - 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, Win32) - all versions? read-only?
commercial. (This is a Windows-specific DLL with Delphi support; it
claims "support for most PNG formats.")
- Image Library
[Colosseum Builders /
John Miano] (many) - version of 1 May 1998 and later;
read/write; alpha support; older versions write
invalid zlib streams (and therefore invalid PNGs--fixed as of
version 4.2); freeware
with C++ source and, as of version 4.0, Delphi Pascal source, as well.
(This is a library of C++ and Pascal sources for various image formats,
including PNG. It includes Win32 executables and MSVC and Borland
makefiles. The zlib/deflate bug was evidenced by "distance too far"
errors in decoders based on zlib 1.2.1 and later, which do stricter
bounds-checking than older versions did. Note that, as of June 2006,
the latest version of the library [4.3] is actually on the author's
source code
page, not the main page listed above.)
- ImageMagick
[John Cristy] (Unix, VMS,
Win32, Macintosh) - version 3.6.3 and later; read/write;
full gamma support; full chromaticity support? broken support for
sub-8-bit grayscale PNGs in versions prior to 5.1.0; minimal MNG support
as of version 3.9.2 and full
MNG-LC support (read/write) as of
version 4.2.4 (broken in versions 5.2.7
through 5.3.6);
JNG support as of version 5.5.2;
requires libpng and zlib; freeware with source. (See also
Bob
Friesenhahn's C++ interface to ImageMagick, Magick++.)
- ImageMan ActiveX Suite [Data Technologies] (Windows 3.x, Win32) - all
versions? read/write. (This is a set of Visual Basic and ActiveX
controls/DLLs/whatever, for image manipulation and conversion.)
- ImagePDF [Apex Internet Software] (Unix, Win32) - all versions;
read-only; "retains most relevant image tags," possibly including text
annotations; commercial. (This is a command-line program and shared
library/DLL that converts images to Adobe's PDF format.)
- Image-Pngslimmer
[Adrian
McMenamin] (Perl) - all versions; read/write; freeware
(Artistic) with source. (This is a Perl module to improve PNG
compression on the fly, either by removing ancillary chunks or by
recompressing and optionally refiltering the pixel data. Tarballs
are available from CPAN.)
- Imager
[Arnar Mar Hrafnkelsson]
(Perl) - version 0.05 and later; read/write; full alpha support
as of version 0.31; requires libpng and zlib; freeware
(Artistic) with source. (This is a multi-image-format Perl module
written in C. Imager's feature set is similar to that of gd and
its Perl interfaces; it provides read/write support for several formats
and supports image-blending, gradients, fonts, and so forth.)
- Imagery [Ursus Computing]
(Windows 3.x, Win32) - 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. It is now part
of PiXCL Tools, below.)
- ImageScript [Jan Verhoeven] (Windows 9x/ME) - version 2 and later;
read/write? freeware. (This is a "tool to convert, resize, copy and
move" various image formats, including PNG, "under control of a script
that you can create from, e.g., Delphi, VB, MS Access 97, etc.")
- 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.)
- ImageX [Fath Software]
(Win32) - version 2.0 and later; read/write; commercial.
(This is an ActiveX control [OCX] for import, export, and conversion of
various image formats. It can be used with Visual Basic, Visual C++,
Access, Delphi, etc.)
- Img
[Jan
Nijtmans] (Unix/X, Win32) - version 1.0 and
later; read/write; uses libpng and zlib; freeware with
source. (This is a multi-format image-processing extension for
Tcl / Tk. Versions of Tk prior to 8.3 required a patch in
order to support the writing of alpha/transparency info; as of version
8.3, the patch is integrated into the core package.)
- ImgDLL [Smaller Animals Software] (Win32) - version 3.7(?)
and later; read/write; full alpha and gamma support claimed; uses
libpng and zlib; commercial. (This is a multi-format,
file-based image-processing DLL/LIB for use with VC++, Visual Basic, etc.
It has been mostly superseded by ImgSource, below.)
- ImgSource [Smaller Animals Software] (Win32) - all versions;
read/write; full alpha and gamma support claimed; uses
libpng and zlib; commercial. (This is a multi-format
image-processing DLL/LIB for use with VC++, Visual Basic, etc. Unlike
the older ImgDLL [above], ImgSource can read images from and
write them to arbitrary sources, and it has more processing functions.)
- ImgX [Designer
Controls] (Win32) - all versions? read/write;
commercial; requires separate purchase of ImgSource, above.
(This is an ActiveX DLL for Visual Basic that supports various forms of
image manipulation.)
- Imlib
[Red Hat Advanced Development
Labs, Enlightenment team] (Unix/X, Unix/GTK) - all versions?
read-only; partial alpha support (only binary transparency); requires
libpng and zlib; freeware (GPL) with source. (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; claimed to be fast.)
- Io
[Steve Dekorte] (Unix/X, Win32,
Mac OS X) - version 2002-11-24 and later; read-only? uses
libpng and zlib; freeware (BSD) with source. (This is a
"small prototype-based programming language" [and desktop environment]
inspired by SmallTalk and other object-oriented languages.)
- janGraphics.dll [Jan Verhoeven]
(Windows 9x/ME) - all versions? read/write; freeware.
(This is a "multi-threaded COM-object to convert between the
[bmp,gif,png,jpg] image file formats, including (optional) resizing, GIF
transparency and JPEG compression quality adjustment." It can be used
with Visual Basic, Delphi, MS Office apps, etc.)
- Java Advanced Imaging API [Javasoft/Sun] (Java) - version EA2 and later; requires Java 2 SDK (a.k.a. JDK 1.2 or later); read/write;
full alpha support; full gamma support; read/write sRGB support (all
gamma and chromaticity properties made available to app, but actual
pixel-modification is limited to gamma); no iCCP support.
(This is native PNG support in
a standard Java extension; it does not use native code other than
zlib [which is built into Java since JDK 1.1]. See also the
documentation on the PNGEncodeParam and PNGDecodeParam classes, which provide a nice overview of the scope
of the API. The API is available in two parts, one for image I/O
[including PNG] and one for the rest of JAI's image-processing
classes. The first can be used independently of the second. Note also
that this is distinct from the native ImageProducer PNG support coming
to the Java 2 / JDK 1.3 core [see the 4 May 1999 entry on the
PNG News page] and that a new image-I/O API
is being developed that will be independent of JAI. Some information
about the latter is available here, though it is no longer completely accurate.)
- Java Image Content Handlers
[ADI Limited / Justin
Couch] (Java) - all versions; read-only; uses libpng
and zlib; freeware (LGPL) with C++ source.
(This is reportedly a fast and efficient image library--it uses native
libraries for decoding--with support for PNG, JPEG, TIFF, GIF, BMP, TGA
and PBM/PGM/PPM. As supplied, it is designed for Java 2 [JDK 1.2], but
source code is included, and it can be trivially modified to work with
JDK 1.1. Write support will probably appear in a separate package.
As of October 2001, code newer than the stable 1.0 release is available
only via CVS, as noted on this page.)
- 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 / Sun
Microsystems] (Java) - all versions; read/write; freeware
(formerly commercial). (This is an image toolkit supporting a number of
formats, including PNG, either "natively" or via Java's
ImageProducer / ImageConsumer model. PNG support was originally based on Jason Marshall's
PNGImageProducer source code. JIMI was acquired by Sun in
mid-August 1999.)
- JIU / Java Imaging Utilities
[Marco Schmidt]
(Java 1.1+) - version 0.12.0 and later; read/write; 16 bps
support; tEXt, pHYs, and tIME support; no transparency support; freeware
(GPL) with Java source. (This is an image-processing library with a
number of image-manipulation features.)
- jPDFImages [Qoppa
Software] (Java) - all versions; read/write; commercial.
(This is a PDF-processing library that can import PNGs into PDF docs
and export PDF pages as PNG images.)
- Jun for Java
[AOKI Atsushi,
ODA Tomohiro, et al.]
(Java) - version 316 and later; read-only? requires JIMI
or JAI; freeware (GPL) with source. (This is an OpenGL-based
"graphic multimedia library with topology and geometry." There is
also a Smalltalk version, but it is unclear whether that version supports
PNG.)
- 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).
- Kylix [Borland]
(Linux/X) - all versions; read/write; commercial/freeware.
(Kylix's native PNG support apparently is fairly well hidden, but
Chris
Rorden has documented
the procedure to register the format. He also has a link to Peter Haas's page of Delphi PNG and MNG
libraries.)
- lcms
[Martí Maria Saguer]
(Win32, Unix, etc.) - version 1.03 and later; freeware (LGPL)
with source. (This is a small, independently developed color management
system with read-only support for a "wide subset" of ICC profiles.
Originally it was not in any way specific to PNG, but versions since
1.03 can read embedded ICC profiles in PNG images [iCCP chunk].)
- LEADTOOLS [LEAD Technologies] (Windows 3.x, Win32) - various
versions from 1997 and later; read/write; no 16-bit-per-sample color
support; no 2-bit support; full 8-bit alpha support;
commercial. (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 was no sign of either as of October 1998.)
- libAfterImage
[Sasha Vasko]
(Unix/X) - all versions? read/write (read-only prior to version
0.81); full alpha support claimed; requires
libpng and zlib; freeware (GPL) with source. (This is an
"image-loading, storing, blending, rendering and manipulation library
for X"; claimed to be fast.)
- libferris
[Ben Martin]
(Unix/X) - version 0.4.0(?) and later; read-only; alpha support;
requires libpng and zlib; freeware (GPL) with source.
(This is a C++ virtual-filesystem implementation with support for
OS/2-like extended attributes [EAs] about files. PNG support is in the
form of EA metainfo.)
- libgraph
[JP Rosevear]
(Unix, etc.) - all versions; write-only; requires gd,
libpng, and zlib; freeware (GPL) with source. (This is a
programming library that provides "generic graph-building capablities."
The original web page claimed that it supported only Unix-like systems,
but it should be generic enough to compile under Windows or most other
OSes, too. This product is no longer under development.)
- libmng
[Gerard Juyn] (Unix,
Win32, etc.) - all versions; read/write;
MNG and
JNG support; requires zlib
and optionally libjpeg (JNG) and lcms (color correction);
freeware (zlib/libpng) with source. (This is the official MNG/JNG
reference library, and it includes PNG support, too. The CVS tree is browsable online. There is also a MASM32 add-on
available from the download page.)
- libplot
[Robert S. Maier and others] (Unix, etc.) - version 2.4.1 and later; write-only;
binary transparency support (alpha support coming); requires
libpng and zlib; freeware (GPL) with source. (This is a
plotting/graphing library similar to gd above except oriented
toward vector drawing rather than raster. It is part of the GNU
plotutils package, which is listed on the scientific / graphing apps page.)
- libpng
[Guy Eric Schalnat,
Andreas Dilger,
Glenn Randers-Pehrson, and
others] (many) - all versions; requires zlib (below);
freeware (BSDish) with ANSI C source. (This is the official PNG
reference library. It is used by virtually all freeware and shareware
PNG-supporting applications and in many commercial apps. A Visual Basic
interface/module is separately
available [under Sample Code: VB Standard Modules].)
- libpr0n
[Pavlov, tor, saari, et
al.] (many) - all versions; read-only;
MNG and
JNG support; requires libmng,
libpng, and zlib; freeware (MPL) with C++ source. (This
is a variant of and possible successor to Mozilla's imglib,
specifically designed "to render pornographic images in an efficient
way." Source code is available from Mozilla's CVS
tree.)
- libwmf - see wmftopng on the converters page
- List & Label [combit] (Win32) - version 10(?) and later; write-only?
commercial. (This is a "report generator," apparently designed to
plug into various database engines and produce reports of some sort.
It is reported to have PNG support, though there is no indication of
this on the web site.)
- LodePNG [Lode Vandevenne] (many) - all versions; read/write;
freeware (BSD/X11/zlib) with C source. (This is a
completely independent PNG encoder/decoder
implementation; it requires neither libpng nor zlib.
It includes a C++ wrapper.)
- Magma - see Reachin API below
- Mirage Image Library [Paul Legan] (Win32) - all versions; read/write;
shareware. (This is a library, apparently for Delphi, with basic
image import/export and display functions. A companion library,
ImageFX [no
relation to the Amiga editor], adds
image-manipulation functions but has no file support of its own.)
- Mjølner System [Mjølner Informatics] (Win32, Linux, Solaris, Mac PPC)
- version 5.2.2(?) and later; read-only? freeware. (This is a graphical
programming environment for the object-oriented language BETA. As
of version 5.2.2, PNG is the "native Pixmap format," but it's possible
that older versions had some level of PNG support, too. Older versions
were also available for IRIX and HP-UX.)
- mmiogpng [Giorgio Costa]
(OS/2) - all versions; read-only; uses libpng 0.85 and
zlib 0.95; 164k. (This is a PNG-reading extension to OS/2's
MMPM/2 multimedia subsystem, much like an Amiga datatype or a BeOS
translator. Version 0.7 beta appears to be the first and only release.
Also available via ftp: US,
Italy).
- MNG Translator
[YNOP Talton]
(BeOS x86) - version 1.4 and later; read-only?
MNG and
JNG support; uses libmng,
libjpeg, and zlib; freeware with source (on request). (This is an add-on to the BeOS
Translation Kit; it supports MNG, JNG and optionally PNG. The
German download page is here.)
- MST Image
[Yurij S.
Musatenko] (DOS, Windows 3.x, Win32, OS/2, Unix) -
version 3.3(?) and later; read/write; discards alpha/transparency
information; uses libpng and zlib; freeware with source.
(This is a multi-platform C++ library. As of mid-1999, the library was
available as both a freely downloadable, non-commercial-use version and
as a paid, commercial version; only the latter included PNG support. As
of March 2000 [version 3.34], the library is completely open-source.)
- Multimedia Conversion Library / MCL [Gromada.com] (Win32) - version 2.0.0(?) and later;
read/write; commercial. (This is a conversion library for various
image, video and audio formats. PNG is supported, but MNG is not
[as of version 2.3.2].)
- NCTImageStudio [NCT
Software] (Win32) - all versions? read/write; shareware.
(This is a set of ActiveX controls for image conversion and manipulation.
It supports Visual Basic, MSVC++, Borland C++ Builder, Delphi, etc.)
- NexgenIPL [Binary Technologies] (Win32) - all versions;
read/write; freeware. (This is an image-processing library for MSVC++.
It supports multiple image formats and image-manipulation capabilities,
and it includes several demo apps.)
- Olectra Chart - see ComponentOne Chart above
- OpenGL::Image
[POGL Team / Graphcomp] (Perl) - all versions;
read/write; requires ImageMagick, libpng and zlib;
freeware (Artistic) with source. (This is an imaging component that can
load PNGs for use as OpenGL texture maps and frame-buffer objects and that can save OpenGL frames in PNG
format. It is part of the Perl OpenGL
[POGL] project.)
- PaintLib [Ulrich von Zadow] (DOS, Windows 3.x, Win32, 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.)
- PalmPng
[Michal "selmi" Seliga]
(Palm OS) - all versions; read-only; requires libpng and
zlib; freeware (zlib/libpng license) with C source.
- Panda
[Michael Still]
(Unix, Win32, etc.) - version 0.4 RC2 and later;
read-only (write support in the sense that PDF files support PNG
internally); uses libpng and zlib; freeware (GPL) with
source. (This is a library for generating PDF files.)
- Photogenics PNG loader/saver [Jolyon Ralph] (Amiga) -
version 0.9; read/write; uses libpng and zlib; read-only
support for grayscale/monochrome and interlacing; 43k. (This is a
"GIO" plug-in for Photogenics 1.2 only. Versions 2.0 and later
include native PNG support; see the image
editors page for details. Click here if link breaks.)
- PHP
[PHP Development Team]
(Unix, Win32) - version 3.0.13 and later; read/write;
uses gd, libpng and zlib; freeware (BSDish) with source. (This is
called a "hypertext preprocessor," but it's really a server-side
programming language that can be embedded within web pages. It supports
reading PNGs for their dimensions and creating PNGs dynamically. See
also Apache Toolbox on the miscellaneous
apps page.)
- PIL - see Python Imaging Library below
- PiXCL Tools [VYSOR
Integration] (Win32) - 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. It incorporates an updated version of
Ursus Computing's Imagery, which was once a standalone product
[above]. The API for the PiXCL DLL is also available.)
- PixelGraphicLibrary [Peter Beyersdorf] (Win32) - all versions; read/write;
shareware. (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. This product has been discontinued.)
- PLplot
[Maurice J. LeBrun / Geoff
Furnish / Alan
W. Irwin] (Unix) - version 5.0.3 and later; write-only;
requires libpng and zlib; freeware (LGPL) with
source. (This is a "library of C functions that are useful for making
scientific plots from programs written in C, C++, Fortran, Octave,
Python, and Tcl/Tk.")
- png++
[Alexander
Shulgin] (many) - all versions; read/write; requires
libpng and zlib; freeware (BSD) with C++ source. (This
is a C++ interface to libpng with an emphasis on simplicity and ease of
use.)
- PNG DataType #1 [Cloanto] (Amiga) - all versions; read-only; 8-bit only prior
to version 43.2 (24-bit tag extensions supported in 43.2 and later);
transparency support; includes sample DataType-based image viewer
(ViewDT) with source code; 67k. (A datatype is a standardized
DLL-type thing that allows any image-handling application under AmigaOS
3.0 or later to understand PNG images automagically, without
recompilation. Also see Personal Paint on
the image editors page. Click here if link breaks.)
- PNG DataType #2 - see akPNG.datatype above
- PNG DataType #3 - see WarpPNG.datatype below
- PNG DataType #4
[Gunther Nikl] (Amiga) - all
versions; read-only; for OS 3.0 and later; transparency support; gamma
support; uses libpng and zlib;
freeware (for non-commercial use) with source; 140k.
(Click here if
link breaks.)
- PNG DataType #5 - see vPNG.datatype below
- PNG Delphi / TPNGImage
[Gustavo Daud] (Win32)
- all versions; read/write; full alpha support (including
single-shade/color transparency in grayscale and RGB images as of
version 1.428); gamma support; interlacing support (write) as of version
1.42; text support; includes zlib compiled object files and
Pascal wrapper; freeware with source. (This is a Delphi 5 [Pascal]
component for loading and saving PNG images, with multilingual error
messages [English, Portuguese and German].
Older copies of the code are available from various Delphi freeware
sites. See also TNGImage below.)
- PNGDIB
[Jason Summers] (Win32) -
all versions; read/write; full alpha support in version 2.0.0 and later;
full gamma support; requires libpng and zlib; freeware
(BSD) with source. (This is primarily a "mini PNG/DIB conversion
library" with two functions: one for converting PNG to DIB, and one
for the reverse. Versions 1.1.0 and later also include a simple PNG
viewer as a sample app.)
- PngEncoder
[J. David Eisenberg] (Java) -
all versions; write-only; 32-bit alpha support; requires JDK 1.1
(PngEncoder) or JDK 1.2 (PngEncoderB); freeware (LGPL) with source.
- PNGgraph.pm
[Steve
Bonds] (Perl) - version 1.10 and later; write-only?
freeware (Artistic) with source. (This is a Perl module to draw bar,
line and pie charts in
PNG format. It is based on Martien Verbruggen's GIFgraph 1.10 and
requires Lincoln Stein's GD.pm. Judging by the CHANGES file, this version appears to predate
Dmitry Ovsyanko's port [below] by about three weeks.)
- PNGgraph.pm
[Dmitry
Ovsyanko] (Perl) - version 1.11 and later; write-only?
freeware (Artistic or GPL) with source.
(This is a Perl module to draw bar, line and pie charts in PNG format.
It is "98% based" on Martien Verbruggen's GIFgraph 1.20 and requires
Lincoln Stein's GD.pm.
This was apparently developed independently of Steve Bonds' port [above],
despite having the same name and version number.)
- PNGHack
[Sean M. Foy]
(Win32) - all versions; "read/write"; "alpha support";
freeware (LGPL) with source. (This is a "collection of ASP.NET Web
Custom Controls for rendering cross-browser image references in HTML."
Specifically, it's a server-side method of providing normal browsers
with normal HTML but MSIE/Windows with the proprietary DirectX/CSS
extensions it requires in order to render PNG transparency correctly.
[Hence "hack."])
- PNGHandler [Simon
Clarke] (BeOS) - all versions; read/write; full alpha
support? no 16-bps support; freeware. (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.)
- PNGImageProducer
[Jason Marshall] (Java)
- version 0.88 (final public release) and earlier; requires java.util.zip (a.k.a. zlib 1.0.4) from JDK 1.1 or later;
freeware with source; 55k. (Sun's JIMI is partly based on this.)
- PNG_IO
[Steve Sangwine]
(many) - all versions; read/write; requires zlib; freeware
(GPL) with source. (This is a basic, high-level Ada 95 package for
reading and writing PNG files. It is neither a clone of nor a wrapper
for libpng; for example, versions prior to 3.3 did not support writing
interlaced images, though they could read them. PNG_IO can write gamma,
sRGB, and several other ancillary chunks.)
- Pnglets
[Roger E. Critchlow, Jr.]
(JavaScript) - all versions; write-only; freeware (GPL) with
source. (This is a PNG drawing library written in JavaScript;
it can be used to create client-side line drawings on the fly,
without either libpng or zlib. Pnglets was inspired by and is partly
based on algorithms in the gd library above, but the package
draws from other sources as well and predates gd's PNG support.)
- PNGLIB
[Edmund H. Hand, Uberto Barbini, Eric
Engler] (Win32) - all versions; read/write; requires
libpng and zlib; freeware with source code. (This is a
Delphi wrapper for libpng and zlib. It appears to have a
bug in writing the PNG IEND chunk [failure to include the length field],
though this is strange given its use of libpng.)
- PNGlib
[Thomas Kabir] (Win32) -
all versions; read-only; full alpha support; freeware with Visual
Basic source. (This is primarily a sample viewer, PNGView,
that apparently can composite a transparent PNG image against a
background image; but it also includes complete source code for a VB
PNG-decoding library, PNGlib.)
- PNGlib
[Robert Eisele]
(JavaScript) - all versions; write-only; freeware (BSD) with
source. (This is a basic PNG library written in JavaScript; its
output can be inlined in HTML using the data: URI and Base64 encoding.)
- pnglite
[Daniel Karling]
(many) - all versions; read/write as of version 0.1.17 (earlier
versions read-only); requires zlib; freeware (zlib/libpng
license) with C source. (This is a lightweight substitute for libpng.)
- PngUnit
[Edmund H. Hand, Jack
Goman] (Win32) - all versions; read/write; freeware
with source. (This is another Delphi wrapper for libpng and
zlib based on Edmund Hand's PngImage.pas. It apparently includes
a viewer with BMP-to-PNG conversion capability.)
- PNGwriter
[Paul
Blackburn] (any) - all versions; read/write; 16-bit-per-sample
support; requires libpng and zlib; freeware (GPL) with
source. (This is a C++ class for plotting XY data and drawing basic
shapes directly to a PNG file. It includes HSV conversion functions,
text-rendering support, documentation in both English and Spanish, etc.)
- PowerDoc [D-Type]
(Win32) - all versions? read/write; commercial. (This is a
vector-based graphics library for creating and rendering "professional, high-quality, and resolution-independent documents of any kind." It
can import and export PNG images. An ASP variant can do [web]
server-side rendering for IIS Active Server Pages.)
- PrinterCE [FieldSoftware] (Windows CE 3.x) - version 2.0(?) and later;
read-only; commercial. (This is a PNG-supporting printing module for
WinCE 3.x, a.k.a. Pocket PC. The toolkit is also available for older
WinCE platforms, but without PNG support.)
- Pygame
[Pete Shinners] (Win32, Mac
OS, Mac OS X, BeOS, Unix) - all versions? read/write? full alpha
support? requires SDL, libpng and zlib; freeware
(LGPL) with source. (This is a Python-based multimedia library/toolkit
written on top of SDL. It is primarily used for games, although there
are also image viewers and other applications written with it.)
- Python Imaging Library [Secret Labs AB / Fredrik
Lundh] (Unix, Win32) - version 0.2b3 (read-only) and
later; read/write in version 0.2b4 and later; requires zlib;
freeware (BSDish) with source. (PIL is an 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 it may once have
supported Mac OS.)
- QHTM [GipsySoft]
(Win32) - 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
[Trolltech] (Unix/X,
Win32, BeOS x86) -
version 2.0 and later, or version 1.4x with the Qt Image IO Extension Library
(commercial only); read/write? MNG
and JNG support (read-only?) as of
version 2.2.0; uses libmng, libjpeg, and zlib;
freeware (Free Edition: QPL) or commercial (Professional Edition) with source.
(This is a C++ GUI toolkit, perhaps best known for its use in KDE under Linux.)
- QuickTime [Apple]
(Mac PPC/68k, Win32) - version 3.0 and later; read/write
as of 4.0; full gamma support; full alpha support; breaks Internet
Explorer's handling of standalone PNGs on Mac OS X (quick
fix); uses zlib; freeware. 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
and, as of version 4.0, write them (presumably). Note that the alpha
support does not extend to QuickTime's use as an old-style
Netscape plug-in. The included PictureViewer app can be used
to view and convert PNG images.)
- RasterMaster [Snowbound
Software] (Win32,
Java,
Unix,
Mac OS,
Mac OS X) - version 7.0(?) and later; read/write; commercial.
(This is an imaging toolkit with with support for multiple platforms and
languages, including C/C++, Java, and ActiveX.)
- RbPNGLib
[Noriyuki Horiuti]
(Mac PPC) - all versions; read/write; alpha support; gamma
support; text support; requires libpng and zlib; freeware
with C++ source. (This is a plug-in for REALbasic 2.1 through 3.x; it
allows REALbasic programs to read and write PNGs.)
- Reachin API [ReachIn
Technologies] (Windows NT, IRIX/X) - all versions; read/write;
alpha support (read/write but not display); commercial. (This is a 3D
API/toolkit for developing "multisensory"--at a minimum, visual and
haptic--3D applications. PNG is the "primary native graphics format."
It was formerly known as Magma.)
- Simple DirectMedia Layer [Sam Lantinga] (Linux,
Win9x/NT, BeOS, Mac) - version 0.10 and later; read-only; uses
libpng and zlib; freeware. (This is a "free,
cross-platform, multi-media development API." It is used in a number
of games, including Hopkins
F.B.I., Civilization: Call To Power, Myth II:
Soulblighter, and others.
PNG support is indirectly provided by the ImgLib demo in the accompanying
demos/examples archive. Philippe Lavoie wrote the PNG decoder code on
which the ImgLib example is based.)
- Sixlegs Java PNG
[Six-Legged Software] (Java)
- all versions; read-only; freeware (LGPL) with Java source.
(This is Chris Nokleberg's
Java 1.1 PNG package, including source code. Version 0.6 supported
transparency, gamma correction, progressive display, grayscale
conversion, etc. Version 0.7 added support for sRGB, iCCP, and private
chunk-handling. Version 0.8 added support for oFFs, pCAL, sBIT, sCAL
and sPLT. Version 0.9 reduced memory usage and added support for iTXt.
Version 1.0[a] was the first version released with full source code under
the LGPL and included a workaround for a bug in IE4 and IE5. Version 1.1
added support for gIFg and gIFx. Write
support is now planned for a separate package.)
- Squeak
[Apple Computer / Squeak Central]
(Mac OS, Mac OS X, Unix/X, Win32, RISC OS, BeOS, OS/2, DOS, etc.)
- version 3.0(?) and later; read/write? freeware with source. (This is
a graphical programming environment for the object-oriented language
Smalltalk-80. It includes a full complement of 2D image
capabilities, including PNG support.)
- 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.)
- THBImage Professional Edition [THBComponentware] (Win32) -
all versions; read/write as of version 2.0 (previously read-only);
alpha support as of version 2.0; commercial.
(This is a set of ActiveX components with various image-manipulation
capabilities, including scaling and compositing, for use with VC++,
Visual Basic, and MS Access. PNG is one of the supported raster formats.
Note that the Standard Edition does not support PNG.)
- TIFFY Toolkit [Art &
Computer Hackbarth] (Java) - all versions; read-only;
shareware. (This is a Java image-viewing toolkit with support for PNG,
TIFF, GIF, JPEG and BMP and reportedly a small memory footprint. A demo
viewer, TIFFY View, is also available via the viewers page.)
- Titan [Dan Brown]
(Linux, Win32) - all versions? read/write; freeware.
(This is a "portable image handler for OpenPTC." It is distributed as C++
source code.)
- TNGImage
[Gerard Juyn, Scott Price, Peter
J. Haas] (Win32) - all versions; read/write;
MNG and
JNG support; uses libmng,
libjpeg, lcms, and zlib; freeware (zlib/libpng)
with Pascal source. (This is a Delphi 3/4/5/6 component for loading and
saving PNG, MNG and JNG images. libmng.dll, containing all
four required libraries, is included. Linux/Kylix support is coming
in version 1.2.)
- Translation Kit - see BeOS on the miscellaneous apps page
- TwistedPixel [Bananas
Software] (Win32) - 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.)
- uf2png.fio [Ulead
Systems] (Windows 3.x) - all versions; read/write; freeware;
79k. (This is an add-on module for all Ulead image products [including
Ulead Viewer on the image viewers
page] and for Adobe/Aldus PhotoStyler [on the
image editors page]. There may be a newer
version on Ulead's very
slow ftp site; the version above is the first non-beta release,
v1.1, dated 15 September 1995 internally and 10 January 1996 on the
ftp site.)
- UltraWebSuite [Infragistics] (Win32) - all versions? read/write?
commercial. (This is a suite of server-side forms controls for ASP.NET;
PNG is supported in the
UltraWebChart and
UltraWebNavigator components.)
- UltraWinSuite [Infragistics] (Win32) - all versions? write-only?
commercial. (This is a suite of forms components for .NET; PNG is
supported in the
UltraWinChart,
UltraWinTree, and UltraWinListBar components.)
- Victor Image Processing Library [Catenary Systems] (Windows 3.x,
Win32) - version 5.0 and later, or version 4.x with a
separate
add-on; read/write; no alpha support (only single-color/GIF-like
transparency); 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.)
- Virtual Print Engine [IDEAL Software] (Win32) - all versions; read/write;
commercial. (This is a toolkit and API to create electronic documents;
it can both import and export PNG images, although the primary output
format is PDF. Of the five flavors, PNG is supported in all but the
lowest [Standard]. The site is available in German, too.)
- vPNG.datatype [Viktar
Pakhomau/Victor Pakhomov] (Amiga 68k) - all versions;
read-only; for OS 3.0 and later; broken interlaced support; freeware for
non-commercial use; 11k. (This is very closely related to the
vPNG viewer on the viewers page.
Click here if
link breaks.)
- WarpPNG.datatype [Oliver Roberts] (Amiga 68k/PPC) - all versions; read-only;
supports 68k, WarpOS and MorphOS; alpha support; gamma support; uses
libpng and zlib; freeware.
- Watchdog png library
[Gerald Roehrbein]
(Unix, etc.) - all versions; write-only? requires libpng
and zlib; freeware (GPLv2) with C source. (This is a library to
generate PNG images on the fly; it was created as part of the Watchdog
web-statistics package, can write directly to an HTTP port, and is
designed to be very simple to use. It is partly based on
PNGwriter [above].)
- wimg
[Yudong Yang]
(Win32) - all versions; read/write? full alpha support?
requires libpng and zlib; freeware with source code; 179k.
(This is a multi-format image-processing library. A README file is
available, and the archive also may be downloaded here.)
- WinSView [Andreas
Kleinert] (Win32, Linux) - all versions; read/write;
uses libpng and zlib; shareware. (This is a C++ class
library with an MFC GUI front end [Windows version]; it is a port of the
Amiga SuperView Library above. The class library is generic and
may be ported to other platforms such as BeOS and QNX.) (coming)
- wv
[Caolán McNamara]
(Unix, Win32, Amiga, VMS, OS/2) - version 0.4.0 and later;
read/write? requires libpng and zlib (and optionally
ImageMagick); freeware (GPL) with source. (This is a library to
read and parse Microsoft Word documents, versions 6 through 9 [a.k.a. 6,
95, 97, 2000]. It also goes by the name wvWare and was formerly
known as mswordview.)
- wxWindows
[wxWindows team]
(Win32, Unix/X, Unix/GTK+, Unix/Motif, Mac OS, Mac OS X, OS/2) -
version 2.0 and later; read/write? uses libpng and zlib;
freeware (LGPLish) with source. (This is a cross-platform C++ GUI
toolkit. Subprojects include wxPython.)
- XmHTML
[Ripley
Software Development] (Unix/X) - all versions; read-only;
full gamma support; full alpha support; some progressive support, but
better version coming; freeware (LGPL) with source.
(This is a Motif widget capable of displaying HTML 3.2 documents,
including images; it's currently in beta. A page demonstrating its
PNG
capabilities is also available.)
- zlib
[Jean-loup Gailly and
Mark Adler]
(many) - all versions; freeware (BSDish) with K&R source.
(This is the official compression library for PNG; it was originally
designed specifically for PNG, though it has subsequently become widely
used in many other settings. zlib itself provides no PNG support, but
it is required for practically all PNG apps distributed as source code,
and it is used in most PNG-supporting commercial apps.)
Here are some related PNG pages at this site:
Last modified 10 December 2021.
Copyright © 1995-2021 Greg Roelofs.