Developer’s Image Library Manual 
By Denton Woods 
Abysmal Software 
March 2002 
Conversion of pdf into ppt - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
export pdf to powerpoint; convert pdf to editable ppt online
Conversion of pdf into ppt - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
how to convert pdf slides to powerpoint presentation; change pdf to powerpoint
Online Convert PowerPoint to PDF file. Best free online export
clicking on the blue button or drag-and-drop your pptx or ppt file into the drop area. Then just wait until the conversion from Powerpoint to PDF is complete
convert pdf file to ppt online; converting pdf to ppt online
VB.NET PowerPoint: Convert & Render PPT into PDF Document
use for fast PPT (.pptx) to PDF conversion in .NET to render selected PowerPoint slide(s) into image source create a featured PPTX to PDF converting application
convert pdf to powerpoint with; change pdf to powerpoint on
Table of Contents 
Introduction............................................................................................................1 
Library Setup.........................................................................................................2 
Microsoft Visual C++ Setup................................................................................2 
Directories...................................................................................................2 
Post-Build.....................................................................................................3 
MSVC++ Bug Workaround.........................................................................4 
Multithreading.............................................................................................4 
DJGPP Setup.......................................................................................................4 
General GCC-Based Setup..................................................................................4 
Basic Procedures....................................................................................................6 
Initializing DevIL................................................................................................6 
File Handling.......................................................................................................7 
Loading Images............................................................................................7 
Saving Images..............................................................................................7 
Image Characterisitics...........................................................................................
Image Manipulation...............................................................................................8 
Alienifying...........................................................................................................8 
Blurring................................................................................................................9 
Contrast................................................................................................................9 
Equalization.......................................................................................................10 
Gamma Correction............................................................................................10 
Negativity..........................................................................................................10 
Noise..................................................................................................................11 
Pixelization........................................................................................................11 
Sharpening.........................................................................................................12 
Resizing Images....................................................................................................13 
Sub-Images...........................................................................................................13 
Mipmaps............................................................................................................13 
Animations............................................................................................................ 
How to C#: Convert Word, Excel and PPT to PDF
PPT to PDF. Online C# Tutorial for Converting MS Office Word, Excel and PowerPoint to PDF. MS Office to PDF Conversion Overview. By integrating XDoc.PDF SDK into
how to convert pdf to ppt; how to convert pdf to powerpoint on
How to C#: Convert PDF, Excel, PPT to Word
XDoc.Word SDK into your C#.NET project, PDF, MS-Excel and MS-PPT can be converted to Word document. Generally speaking, following conversion types are supported
adding pdf to powerpoint; convert pdf document to powerpoint
C# TIFF: Learn to Convert MS Word, Excel, and PPT to TIFF Image
C# TIFF - Conversion from Word, Excel, PPT to TIFF. is quiet easy to integrate this SDK into your C# directly use them in your project for fast file conversion.
how to convert pdf into powerpoint on; pdf to ppt
C# PDF Convert: How to Convert MS PPT to Adobe PDF Document
Read: PDF Image Extract; VB.NET Write: Insert text into PDF; PDF Convert: How to Convert MS PPT to Adobe Provide Free Demo Code for PDF Conversion from Microsoft
how to convert pdf into powerpoint slides; convert pdf to editable ppt online
Developer’s Image Library Manual
1 
Introduction 
Developer’s Image Library was previously called OpenIL, but due to trademark issues, 
OpenIL is now known as DevIL.  DevIL is an open source programming library for 
programmers to incorporate in to their own programs.  DevIL loads and saves a large 
variety of images for use in a software developer’s program.  This library is capable of 
manipulating images in various ways and passing image information to display APIs, 
such as OpenGL and Direct3D. 
The purpose of this manual is to guide users in coding with the Developer’s Image 
Library.  This manual is for users proficient in C and with competent knowledge of the 
integrated development environment (IDE) or compiler they are using. 
Library Reference 
Several times throughout this document, the three different sub-libraries of DevIL are 
referenced as IL, ILU and ILUT.  IL refers to the base library for loading, saving and 
converting images.  ILU refers to the middle level library for image manipulation.  ILUT 
refers to the high level library for displaying images.  Functions in IL, ILU and ILUT are 
prefixed by ‘il’, ‘ilu’ and ‘ilut’, respectively.
VB.NET PowerPoint: PPTX to SVG Conversion; Render PPT to Vector
high-quality PPT (.pptx) to svg conversion in both be easily converted and rendered into svg image powerful & profession imaging controls, PDF document, tiff
convert pdf into ppt; change pdf to ppt
VB.NET PowerPoint: Convert PowerPoint to BMP Image with VB PPT
converters, such as VB.NET PDF Converter, Excel VB.NET PPT converting library: As batch conversion is also to render PPT document page into RasterEdge-defined
convert pdf back to powerpoint; pdf picture to powerpoint
2 
Developer’s Image Library Manual 
Library Setup 
Microsoft Visual C++ Setup 
DevIL setup for Windows is straightforward.  Unzip DevIL in an empty directory.  If 
using WinZip, check the “Use folder names” box before unzipping.  Use the -d command 
line option if using pkunzip.  Then double-click on the ImageLib.dsw file in the install 
directory to load the DevIL workspace in Microsoft Visual C++ (MSVC++). 
Directories 
You will need to change some directory settings in MSVC++ to get DevIL working. 
1. Navigate to the Tools menu and select Options
2. Click on the Directories tab. 
3. Under Show directories for, select "Include files". 
4. Click the New button (to the left of the red 'X') 
5. Type the directory DevIL is installed in, plus "\Include".  For example, if you 
installed DevIL to E:\ImageLib, enter "E:\ImageLib\Include". 
Figure 1-1.  Include Directory Settings Dialog 
6. Under Show directories for, click on "Library files". 
7. Click the New button (to the left of the red 'X'). 
8. Type the directory DevIL is installed in, plus “\Lib".  For example, if you installed 
DevIL to E:\ImageLib, enter "E:\ImageLib\Lib". 
9. Click the New button (to the left of the red ‘X’). 
.NET PDF Document Viewing, Annotation, Conversion & Processing
Convert. Convert Word/Excel/PPT to PDF. Convert PDF to Word (.docx). PDF Write. Insert text, text box into PDF. Edit, delete text from PDF. Insert images into PDF
convert pdf into ppt online; convert pdf document to powerpoint
Developer’s Image Library Manual
3 
10. Type the directory DevIL is installed in, plus "\Lib\Debug".  In the previous example, 
you would enter "E:\ImageLib\Lib\Debug". 
11. Choose OK. 
Figure 1-2.  Library Directory Settings Dialog 
MSVC++ Bug Workaround 
Microsoft Visual C++ 6.0 has a bug that prevents debugging of a project.  The bug 
appears to occur when you use a #pragma to link a .lib file and link it via another method.  
The header files il.h, ilu.h and ilut.h automatically link the .lib files in via a #pragma for 
convenience.  To prevent this bug, check for and remove these: 
· devil.lib, devil-d.lib, ilu.lib, ilu-d.lib, ilut.lib and ilut-d.lib in your project settings 
(Project – Settings menu). 
· devil.lib, devil-d.lib, ilu.lib, ilu-d.lib, ilut.lib and ilut-d.lib in your project’s 
workspace.  Some people link libraries into their project this way, which really should 
be discouraged, due to the hardcoded paths. 
Multithreading 
DevIL takes advantage of the multithreaded standard LIBC DLLs.  To use file streams 
with DevIL, you must change the project settings of your project.  If you do not perform 
these steps, your program will crash whenever you attempt to use a DevIL file stream. 
1. Navigate to the Project menu and choose Settings
2. Click the C/C++ tab. 
3. Change the Category drop-down menu to read Code Generation. 
4 
Developer’s Image Library Manual 
4. Change the Use run-time library drop-down menu to Multithreaded DLL if the 
Settings For menu says Win32 Release.  Change the Use run-time library drop-down 
menu to Debug Multithreaded DLL if the Settings For menu says Win32 Debug
5. Choose OK. 
DJGPP Setup 
Setting up DevIL in DJGPP requires the following steps: 
1. Unzip DevIL in an empty directory.  If using WinZip, check the “Use folder names” 
box before unzipping.  Use the -d command line option if using pkunzip. 
2. Create a new subdirectory called ‘il’ in your DJGPP include directory. 
3. Copy the files to their respective places: 
· To use the precompiled libraries, copy libil.a, libilu.a and libilut.a from 
ImageLib\lib\djgpp to your DJGPP lib directory.  Then copy il.h, ilu.h and ilut.h 
from your ImageLib\lib\il directory to your DJGPP include\il directory. 
· To compile the library yourself, change directories to ImageLib\Makefiles\Djgpp.  
This folder contains only a makefile for DJGPP.  Simply type ‘make’, and the 
makefile will compile DevIL and copy the files to their respective locations. 
To compile with DevIL in DJGPP, add –lil to your command line.  To also use ILU and 
ILUT, use –lil and –lilut, respectively.
General GCC-based (Linux, Cygwin, Max OS X, etc.) Setup 
Setting up DevIL in this environment requires the following steps: 
1. Unzip DevIL in an empty directory, by typing “gzip –d gzipname” then “tar –xvf 
tarname”, where ‘gzip’ and ‘tarname’ are DevIL-x.x.x.tar.gz and DevIL-x.x.x.tar. 
2. Unzip should automatically use the directory structure present in the DevIL zip file. 
3. To use the precompiled libraries, copy libIL.so, libILU.so and libILUT.so to a place 
specified in your library path, or use the full path to the libraries when compiling. 
4. To compile the library yourself: 
· Type ‘configure’. 
· Type ‘make’. 
· Type ‘make install’ to copy the .so files to /usr/lib and the headers to 
/usr/include/il. 
Developer’s Image Library Manual
5 
Basic Usage 
Initializing DevIL 
You must initialize DevIL, or it will most certainly crash.  You need to initialize each 
library (il, ilu, and ilut) separately.  You do not need to initialize libraries you are not 
using, but keep in mind that the higher level libraries are dependent on the lower ones.  
For example, ilut is dependent on ilu and il, so you have to initialize il and ilu, also. 
IL Initialization 
Simply call the ilInit function with no parameters: 
// Initialize IL 
ilInit(); 
ILU Initialization 
Call the iluInit function with no parameters: 
// Initialize ILU 
iluInit(); 
ILUT Initialization 
ILUT initialization is slightly more complex than IL and ILU initialization.  The function 
you will use is ilutRenderer.  You must call ilutRenderer before you use any ILUT 
functions.  This function initializes ILUT support for the API you desire to use by a 
single parameter: 
· ILUT_OPENGL – Initializes ILUT’s OpenGL support. 
· ILUT_ALLEGRO  – Initializes ILUT’s Allegro support. 
· ILUT_WIN32 – Initializes ILUT’s Windows GDI and DirectX 8 support. 
An example of using ilutRenderer follows: 
// Initialize ILUT with OpenGL support. 
ilutRenderer(ILUT_OPENGL); 
Image Name Handling 
Image names are DevIL’s way of keeping track of images it is currently containing.  
Some other image libraries return structs, but they generally seem more cluttered than 
DevIL’s image name handling.   
6 
Developer’s Image Library Manual 
ILvoid ilGenImages(ILsizei Num, ILuint *Images); 
ILvoid ilBindImage(ILuint Image); 
ILvoid ilDeleteImages(ILsizei Num, ILuint *Images); 
Listing 2-1.  Syntax of the image name functions 
Generating Image Names 
Use ilGenImages to generate a set of image names.  ilGenImages accepts an array of 
ILuint to receive the generated image names.  There are no guarantees about the order of 
the generated image names or any other predictable behaviour like this.  If 
ilDeleteImages is called on an image name, ilGenImages will return that value 
afterward, until all deleted image names are used.  This conserves memory and is 
generally quick.  The only guarantee is that each member of the Images parameter (up to 
Num number of them) will have a new, unique value. 
Binding Image Names 
ilBindImage binds the current image to the image described by the image name in 
Image.  DevIL reserves the number zero for the default base image.  If you pass a value 
for Image that was not generated by ilGenImages, ilBindImage automatically creates an 
image specified by the image name passed.  An image must always be bound before you 
call any functions that operate on images and their data. 
When DevIL creates a new image, the image has the default properties of 1x1x1 with a 
bit depth of 8.  DevIL creates a new image when you call ilBindImage with an image 
name that has not been generated by ilGenImages or when you call ilGenImages 
specifically. 
Deleting Image Names 
ilDeleteImages is the exact opposite of ilGenImages and even accepts the exact same 
parameters.  ilDeleteImages deletes image names to free memory for subsequent 
operations.  You should always call ilDeleteImages on images that are not in use 
anymore.  When you delete an image, DevIL actually deletes all data and anything 
associate with it, so that ilGenImages can possibly use the image name later.
File Handling 
Loading Images 
DevIL’s main purpose is to load images.  DevIL’s loading is designed to be extremely 
easy but very powerful.  Appendix B lists the image types DevIL is capable of loading. 
Documents you may be interested
Documents you may be interested