CDibImage v1.28 An MFC class framework to
encapsulate Device Independent Bitmaps (DIBs) and Image Processing
(Obsolete)
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
many others.
- 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:
Updates
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
bomb out
- 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
visible.
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
http://developer.intel.com/vtune/PERFLIBST/ijl/index.htm.
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
code.
- 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
certain images.
- 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)