www.freeprogrammingresources.com

Graphics Libraries

ImageMagick

ImageMagickTM 6.1.7 is a robust collection of tools and libraries to read, write, and manipulate an image in many image formats (over 90 major formats) including popular formats like TIFF, JPEG, PNG, PDF, PhotoCD, and GIF. With ImageMagick you can create images dynamically, making it suitable for Web applications. You can also resize, rotate, sharpen, color reduce, or add special effects to an image or image sequence and save your completed work in the same or differing image format. Image processing operations are available from the command line, or from the C, C++, Perl, Java, PHP, Python, or Ruby programming languages. A high-quality 2D renderer is included, which provides a subset of SVG capabilities. ImageMagick's focus is on performance, minimizing bugs, and providing stable APIs and ABIs.

OpenSceneGraph

The OpenSceneGraph is an open source high peformance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris and FreeBSD operating systems.

ImageLib: An Image Processing C++ Class Library

ImageLib is a C++ class library providing image processing and related facilities. The main set of classes provides a variety of image and vector types, with additional modules supporting scalar and vector quantisation, wavelet transforms, DCT transforms, and simple histogram operations.

Visualization ToolKit (VTK)

The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization. VTK consists of a C++ class library, and several interpreted interface layers including Tcl/Tk, Java, and Python.

GraphicsMagick

GraphicsMagick is a robust collection of tools and libraries which support reading, writing, and manipulating an image in over 88 major formats including popular formats like TIFF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, SVG, and GIF. GraphicsMagick supports creating new images on the fly, making it suitable for building dynamic Web applications. GraphicsMagick may be used to resize, rotate, sharpen, color reduce, or add special effects to an image and save the result in the same or differing image format. Image processing operations are available from the command line, as well as through C, C++, Perl, or Windows COM programming interfaces.

Magick++

Magick++ is the object-oriented C++ API to the GraphicsMagick image-processing library.

The Mesa 3D Graphics Library

Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL.

PNGwriter

PNGwriter is a C++ library for creating PNG images. PNGwriter is a very easy to use open source graphics library that uses PNG as its output format. The interface has been designed to be as simple and intuitive as possible. It supports plotting and reading in the RGB (red, green, blue), HSV (hue, saturation, value/brightness) and CMYK (cyan, magenta, yellow, black) colour spaces, basic shapes, scaling, bilinear interpolation, full TrueType antialiased and rotated text support, bezier curves, opening existing PNG images and more. Documentation in English and Spanish. Runs under Linux, Unix, Mac OS X and Windows. Requires libpng and optionally FreeType2 for the text support.

CImg Library - C++ Template Image Processing Library

The CImg Library is a C++ toolkit providing simple classes and functions to load, save, process and display images in your own C++ code. It is highly portable and fully works on Unix/X11, Windows and MacOS X operating systems. It contains useful image processing algorithms for loading/saving, resizing/rotating, filtering, object drawing (text, lines, faces, ellipses,..), etc...

G2D

A freeware 2D library for C++ with full example game and source code, online and downloadable documentation.

Open Scene Graph

The Open Scene Graph is a open source high peformance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, Linux, IRIX, Solaris and FreeBSD operating systems.

GD Graphics Library

GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and wrappers are available for Perl, PHP and other languages. GD creates PNG, JPEG and GIF images, among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the fly.

Expression 3D Toolkit

Expression is a free Object Oriented 3D toolkit. It is written in C++/STL. It has support for interactive 3D graphics using OpenGL and non-interactive sphere tracing.

Gx2 Graphical Library

Graphical library for Borland Pascal 7.

g2

g2 is an easy to use, portable and powerful 2D graphics library. g2 is written in C (ANSI) and additionally has a Fortran and perl interface

Mesa 3D Graphics Library

Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL.

paintlib

paintlib is a portable C++ class library for image loading, saving and manipulation.

GNU libxmi

GNU libxmi is a C/C++ function library for rasterizing 2-D vector graphics. It can draw 2-D graphical primitives, including wide polygonal lines and circular and elliptical arcs, into a user-supplied matrix of pixels

PasJPEG

PasJPEG is a collection of Turbo Pascal routines to compress and decompress JPEG files.

DISLIN

DISLIN is a high-level plotting library for displaying data as curves, polar plots, bar graphs, pie charts, 3D-color plots, surfaces, contours and maps.

Ivf++

Ivf++ is a simple OpenGL based C++ visualisation framework

libwmf

libwmf, a library to convert microsoft's wmf file format to something useful, currently bindings exist to convert them to onscreen X graphics, to the gif format and to fig.

Libart

Libart is a library for high-performance 2D graphics. It is currently being used as the antialiased rendering engine for the Gnome Canvas. It is also the rendering engine for Gill, the Gnome Illustration app.

libAfterImage

libAfterImage is a generic image manipulation library

JpegFile

Win32 class library that allows you to read JPEG files into a RGB buffer and save the buffer as a RGB file.