CDibImage v1.28 An MFC class framework to
encapsulate Device Independent Bitmaps (DIBs) and Image Processing
Some of its many features include:
- Support for loading of DIBs from file, resource and global memory. DIB,
Jpeg and Targa Truevision support is included.
- Working area support including a user extensible architecture.
- Comprehensive filter matrices including 3*3, 5*5 and 7*7.
- User defined filter support.
- Comprehensive undo and redo support including end user adjustment of levels
and description strings.
- Built in functions to convert between the RGB and HSL color spaces.
- Full file save support.
- Full clipboard support.
- Full Screen capture support.
- Comprehensive collection of image processing functions including brightness,
contrast, gamma, HSL, blur, edge, noise, RGB, mirror, negate and grayscale plus
- Selection of histogram & channel functions.
- Single function support for GDI drawing & printing.
- Includes GetPixel and SetPixel functions to allow end user modification
of bitmap data.
- Fully supports the UNICODE programming model.
- Comprehensive documentation of all the classes is provided.
Included in the package is a demo program which implements a simple image processing
application using CDibImage. When run it appears as follows:
10 February 2017
23 December 2005
- Please note at some stage in the not too distant future I plan to rework
the class to be based on the new ATL / MFC CImage class and probably make it
open source. Your feedback on this would be welcome!.
V1.28 (31 October 2000)
- Updated code to use Intel Jpeg Library v1.5.
V1.27 (2 April 2000)
- Fixed an access violation in ::ReadJPegFile
- Added a call to GlobalUnlock which was missing in CDibImage::UserDefinedFilter
V1.26 (24 March 2000)
- Fixed a problem with the archive not containing the files to support Targa
support, specifically tgaapi.cpp and tgaapi.h
V1.25 (20 March 2000)
- Modified some code in CDibImage which was causing the VC++ 6 compiler to
- Removed a number of unreferenced variables detected by VC++ 6.
- Removed a number of useless comments in tgaapi.cpp
V1.24 (8 March 2000)
- Added support for True color targa (.tga) file loading and saving
- jpeg loading and saving code thoroughly reviewed and optimized
- The sample app now clears the histogram correctly when there are no views
V1.23 (24 January 2000)
- Updated code to use Intel Jpeg Library v1.1.
V1.22 (3 October 1999)
- Optimized memory usage when loading and saving JPEG images from file.
V1.21 (21 September 1999)
- Fixed a bug in the function WindowToDIB which is used by CDibImage::CopyFromWindow.
V1.11 (6 September 1999)
- Provision of an IsRunLengthEncoded function.
- Updates to the DataFormatSupported function to prevent access violations
in the dibedit sample application
V1.2 (6 September 1999)
- Now includes full Jpeg read / write support by means of the Intel Jpeg Library
(IJL). This library provides royalty free support for Jpegs on the Wintel platform
on Pentium computers or better. A cut down version of IJL is included in this
CDibImage distribution. For further details and to download the full SDK, please
see the IJL web site at
Most of the Jpeg work was kindly provided in CDibImage by RC FOTESCU.
V1.1 (26 July 1999)
- Unicode enabled the code + provision of Unicode configurations in the workspace.
- Inclusion of a C3By3MeanFilter.
- Tidy up of how CDibImage disposes of its resources.
- Addition of a Detach method.
- Pixel access is now supported for 1, 4, 8 and 24 bit pixel formats.
- Function to convert from a HBITMAP to a DIB.
- Function to convert to a HBITMAP.
- Function to screen capture a specified area of a specified window.
- Function to convert to 24 bits.
- Unified all the low-level API to manage DIB files into as single source
- ColorsUsed function has now been implemented.
- General tidy up and spell check of the help file.
V1.01 (9 November 1998)
- Help file now uses Arial instead of Verdanda font. This is consistent with
the rest of my code
- Code now ships with a VC 5 workspace file instead of a VC 4.x mak file
- Fixed an off by one bug which was occurring when you flipped or mirrored
- Fixed the undo message when you mirrored an image
- Renamed the undo strings which need to be included to use CDibImage
- Updated version info in the sample app.
V1.0 (18 November 1997)