For those of you who like to go the do-it-yourself route, here are the tools
to make your PNG code go (some of which may also be provided with ready-to-go
executables). Some of the code, particularly by members of the PNG Development
Group, is still kept up to date at the primary
Open Source Lab ftp site,
but for most things check the appropriate PNG Applications pages for current
links. (This page was previously called Code from the PNG Development
Group and later PNG Source Code and Libraries. Now it is simply
a list of applications, libraries and toolkits that include source code, with
more complete descriptions on the relevant PNG applications pages. The two
main PNG-related libraries, libpng and zlib, are linked directly
and are still maintained by members of the PNG Group, though.)
The following programming libraries, toolkits, DLLs and Java classes all
include source code and are listed on the toolkits
page. Operating-system support is listed in (parenthesized italics),
and toolkits that do not derive their PNG support from another listed library
(typically libpng)--although they may or may not require zlib--are so noted.
(See also Quat in the 3D section for another independent, zlib-based,
C implementation of a PNG codec.)
AxPoint (Perl) - XML-based PDF presentation tool
7-Zip (many) - C++ deflate implementation
BMGLib (Win32)
CamlImages (Caml)
Carnegie Mellon Graphics (Win32, Mac OS, Mac OS X, Unix)
Ch PNG (Win32, Unix/X, Mac OS X?)
CImage (Win32)
ClanLib (Linux, Win32, BeOS)
Closure (Unix/X) - independent Common Lisp source code
CL-PNG (many) - independent Common Lisp source code
The following web browsers all include source code and are listed on the
browsers page. Operating-system support is listed
in (parenthesized italics):
Amaya (Unix/X, Win32)
AMosaic (Amiga)
Arena (Unix/X)
AWeb (Amiga)
BrowseX (Unix/X, Win32)
Chimera (Unix/X)
Closure (Unix/X)
CSCMail (Unix/GTK+)
Dillo (Unix/GTK+)
Encompass (Unix/GNOME)
Epiphany (Unix/GNOME)
Galeon (Unix/GNOME)
Grail (Unix/X, Win32, Mac OS)
Kazehakase ()
K-Meleon (Win32)
Konqueror (Unix/KDE)
Links ()
mMosaic (Unix/X)
Mozilla (Unix/X, Win32, Mac PPC, OS/2, BeOS, RISC OS)
NCSA MacMosaic (Mac OS)
NCSA X Mosaic (Unix/X)
NetSurf ()
Safari (Mac OS X)
ViewML (Linux/X, Linux/MicroWindows)
X-Smiles (Java)
Zen (Linux/fbcon, Linux/GTK+)
Viewers
The following image viewers all include source code and are listed on the
viewers page. Operating-system support is listed
in (parenthesized italics):
Axv (Unix/GTK+)
BePNG (BeOS)
Electric Eyes (Linux/GNOME)
Eye of Gnome (Unix/GNOME)
GQview (Unix/GTK+)
GTK See ()
ImageJ (Java)
ImageMagick display (Unix/X, VMS/X, Win32)
IV / ImgView / Image Viewer (Unix/GTK+)
JImageView (Java)
Jsee (Java)
KSquirrel ()
paul (Unix/GTK+)
pho (Unix/GTK+)
Piclab (Win32)
PikView (Unix/KDE)
PixiePlus (Unix/KDE3)
PNGDIB viewer (Win32)
PngUnit (Win32)
PNGView (Win32)
Quick Image Viewer / qiv (Unix/GTK+)
RO-Viewer (Win32)
rpng / rpng2 (Unix/X, VMS/X, Win32)
ShowImg (Unix/KDE2)
SVG Viewer (Java)
tnailer (Perl)
ToyViewer (Mac OS X, NeXTStep/OpenStep)
view (FreeBSD/VGL)
ViewDT (Amiga) - front end only; requires binary datatype
VisualPng (Win32)
wb0 (Linux/SVGA)
wxyzv (Unix/X)
xli (Unix/X)
XV (Unix, VMS)
Xzgv (Linux/GTK+)
ZBoxZ (Palm OS)
Zgv (Linux/SVGA)
Image Editors
The following image editors all include source code and are listed on the
editors page. Operating-system support is listed
in (parenthesized italics):
D-Pixed PNG add-in (Win32)
Gill (Unix/GTK+)
GIMP (Unix/GTK+, Win32, OS/2)
GNOME-Iconedit (Unix/GTK+)
Inkscape (Unix/GTK+, Win32/GTK+)
ivtools (Unix/X, Win32)
Karbon14 ()
Kontour (Unix/KDE)
Krita (Unix/KDE) - formerly known as KImageShop and
Krayon
mvComicsMaker (Linux/Qt)
Paint.Net ()
Sketch (Unix/X)
Sodipodi (Unix/GTK+, Win32/GTK+)
TuxPaint (Linux/SDL, Win32/SDL, etc.)
xart (Unix/X)
xfig (Unix/X)
XPaint (Unix/X)
Converters
The following image converters all include source code and are listed on the
converters page. Operating-system support is listed
in (parenthesized italics):
AdvanceCOMP (DOS, Win32, Linux) - recompresses PNG and MNG
images
A Mort les GIFs (Java) - converts GIF to PNG and MNG
any2png (Unix, Win32/Cygwin) - converts various formats
to PNG
bmp2png / png2bmp (DOS, Win32) - converts
between PNG and Windows BMP
dvipng (Unix, Win32, etc.) - converts TeX DVI format
to PNG
dvips (Unix, Win32, etc.) - converts TeX DVI format
to PostScript
ecg2png (Unix/Qt) - converts electrocardiogram scans to PNG
eps2png (Perl) - converts encapsulated PostScript to PNG
FOP (Java) - converts XML+XSL to PDF, SVG, PostScript, etc.
Ghostscript (many) - converts PostScript to various formats
gif2png (many) - converts GIF to PNG
hp2xx (many) - converts HPGL to PNG
ImageJ (Java) - converts various formats to various other
formats
ImageMagick convert (many) - converts various formats to
various other formats
imc (Unix) - converts text commands to PNG
img2pdf (many) - converts PNG, TIFF, JPEG images to PDF
XV (Unix, VMS) - converts various formats to various other
formats
3D and VRML
The following 3D applications all include source code and are listed on the
3D apps page. The VRML browsers are also listed
on the VRML browsers page. Operating-system support
is listed in (parenthesized italics):
Blender () -
Cn3D (Win32, Unix/X, Mac OS) - 3D molecular structure
viewer
white_dune (Unix/Motif) - VRML editor and animation tool
Games and Entertainment
The following games and entertainment applications all include source code and
are listed on the games / entertainment page.
Operating-system support is listed in (parenthesized italics):
mapdraw (many) - renders Wolfenstein 3D game maps
in text or PNG format
nwrk-matrix (many) - displays dropping-characters
effect from The Matrix
PilotGOne (Palm OS) - Go game, recorder/playback utility
Pueblo/UE ()
Pygame (many) - Python- and SDL-based multimedia
library/toolkit
Quat (Unix/FLTK, Win32/FLTK) - 3D quaternion fractal
generator
Sphere (Win32) - tile-based, role-playing game (RPG) engine
Stereograph (Linux) - stereogram generator
Stratagus (Linux, Win32, BSD, BeOS, Mac OS X) - cell-based
strategy-game engine
TADS (Win32) - development system for interactive fiction
TADSMap (many) - mapping add-on for interactive fiction
XaoS (many) - fractal generator/zoomer
Office / Business
The following office and productivity applications all include source code and
are listed on the office / business apps page.
Operating-system support is listed in (parenthesized italics):
Nautilus (Unix/GTK+) - file manager and graphical shell
OpenOffice.org (Unix/X, Mac OS X, Win32) - office suite
ROX-Filer (Unix/GTK) - file manager
Ted (Unix/X) - text editor/word processor
Scientific / Graphing
The following scientific, technical and graphing applications all include
source code and are listed on the scientific /
graphing apps page. Operating-system support is listed in
(parenthesized italics):
CellProfiler (Win32, Mac OS X, MatLab) - image analysis of
biological cells
Cn3D (Win32, Unix/X, Mac OS) - 3D molecular structure
viewer
myPACS (Unix/CGI) - web-based medical image-management
system
PHPLOT (Unix/PHP) - plotting and graphing program
Ploticus (Unix/X) - plotting and charting program
plotutils (many) - vector-based plotting and conversion
tools, ODE solver, etc.
PLplot (Unix)
PNGwriter (many) - C++ class for plotting and graphing
PyChart () -
R (Unix/X, Win32) - statistical computing and
graphing language
RRDtool () -
Webalizer (Unix, Mac PPC, OS/2, Win32) - web-stats
analysis and graphing utility
zimg (Unix, OS/2, etc.) - false-color 2D plotting program
Miscellaneous
The following miscellaneous applications all include source code and are listed
on the miscellaneous apps page. Operating-system
support is listed in (parenthesized italics):
USFlag (Win32, Unix) - utility to create scaled US flags
vgrabbj (Linux) - USB video-capture utility
VideoteXt (Unix/X) - videotext decoder
w3cam (Linux) - video-capture utility with Web interface
WumPNG / Dumping (DOS) - PNG tester/dumper
WWWis (Perl) - HTML IMG-sizer script
XEmacs (Unix/X) - editor / kitchen sink
xine (Unix/X, Win32, OS/2) - movie player (DVD, VCD,
QuickTime, ...)
XVidCap (Unix/X) - screen-capture utility
MNG
The following MNG-supporting applications all include source code and are
listed on the MNG apps
pages. Operating-system support is listed in (parenthesized italics):
AdvanceCOMP (DOS, Win32, Linux) - recompresses PNG and MNG
images