Developer’s Image Library or DevIL, started by Denton Woods, is a cross-platform image library which aims to provide a common API for different image file formats. It consists of three parts: the main library (IL), the utility library (ILU) and the utility toolkit (ILUT), mirroring the corresponding parts of OpenGL (although the OpenGL Utility Toolkit is not part of the OpenGL specification).[1]

Not to be confused with devil (disambiguation).
Not to be confused with Open Industrial Linux.
Developer(s) Denton Woods
Nicolas Weber
Meloni Dario et al.
Initial release 2001; 20 years ago (2001)
Stable release
1.8 / 1 January 2017; 4 years ago (2017-01-01)
Operating system Cross-platform
Type Imagelibrary
License GNU LGPL

It was originally called OpenIL; the name was changed at a request from Silicon Graphics, Inc.[2]

DevIL currently [when?] supports 43 file formats for reading and 17 for writing; among those with read-write support are BMP, DDS, JPEG, PCX, PNG, raw, TGA, and TIFF. The actual supported formats depend on compilation settings, in particular, external libraries like libjpeg and libpng.[3]

On June 9, 2010, Woods announced that he had submitted a request to change the licensing terms from the GNU LGPL to a BSD license.[citation needed] According to the website (as well as the source repository), DevIL is still licensed under the terms of the LGPL.[4] DevIl is listed in the directory of the Free Software Foundation as Free Software.[5]

. . . DevIL . . .


  • Portable, supports Windows, Mac OS X and *nix.
  • OpenGL-style syntax.
  • Use of image names instead of pointers.
  • Full Unicode support for filenames.
  • 64-bit compatibility.
  • Loading from files, file streams or memory “lumps”.
  • Direct access to data through ilGetData() and ilSetData().
  • Support for luminance, rgb(a), bgr(a) and colour-indexed images.
  • Support for 3 different numbers of bits per channel.
  • Conversion between all formats and datatypes (including palettes).
  • User-defined automatic conversions if desired when loading images.
  • Automatic conversion when saving images if needed.
  • Automatic conversion of colour-indexed images to truecolour images if desired.
  • Controllable compression when saving.
  • Maintains a state stack that can be pushed and popped.
  • Full support for 3d texture volumes (3d images).
  • Validation of images.
  • Support for layers.
  • Support for mipmaps.
  • Support for animations.
  • Support for cubemaps.
  • User-specified clear colour.
  • Can load a default image if loading fails.
  • User-specified hints.
  • Use of key colours.
  • Support for overlaying an image on top of another.
  • Allows the user to specify their own loading and saving callbacks, even overriding the default ones.
  • Support for user-specified read and write functions.
  • Delphi support.
  • Visual Basic support.
  • Linux support.
  • Can pick and choose which features will be used to create smaller dlls.
  • Choose whether to use the Intel Jpeg Library or libjpeg.
  • A whole host of effects and filters to apply to images, such as embossing and edge detection.
  • Images can be resized or even be put on a larger background (enlarged canvas).
  • OpenGL, Allegro, Windows GDI and DirectX API support.

. . . DevIL . . .

This article is issued from web site Wikipedia. The original article may be a bit shortened or modified. Some links may have been modified. The text is licensed under “Creative Commons – Attribution – Sharealike” [1] and some of the text can also be licensed under the terms of the “GNU Free Documentation License” [2]. Additional terms may apply for the media files. By using this site, you agree to our Legal pages . Web links: [1] [2]

. . . DevIL . . .

Previous post Bajawada
Next post Morishige Takei