This document introduces you to the Image Conversion functionality.
Image Conversion functionality supports many features like encoding, decoding, scaling, rotating, producing mirror image, flipping and cropping images.
Image Conversion Library Details
To use Image Conversion, you must obtain necessary binaries in the form of DLL file to implement the image encoding and the image decoding functions.
Image Conversion is primarily used for Image Encoding and Image Decoding. The following diagram shows how the Image Encoding and the Image Decoding interacts with other components.
Figure: Image Conversion system diagram
The Image conversion provides several features to enable the conversion and basic manipulation of images. Conversions can be made from images stored in files or descriptors to CFbsBitmap
objects, or from CFbsBitmap
and CFrameImageData
objects to files or descriptors. Features of the image conversion function include:
Standard decoders that can decode single or multiframe images, images with bitmasks, images with in-image or in-frame comments.
Support for progressive decoding.
Functions to decode images stored in files or descriptors.
Standard encoder that can encode single frame images and images with in image comments.
Functions to manipulate image properties such as scale, rotation, dithering and progressive decoding.
Advanced thread control for encoder and decoders.
The key classes are
Image encoding is the process of taking a bitmap stored in a CFbsBitmap
, converting it to a specified format and writing the output to a file or descriptor. Typical sources of bitmap data are cameras and paint applications. The CImageEncoder
object is created specifying the source image and encoder plugin as parameters. The CImageEncoder::Convert()
function then encodes the image using the methods provided by the plugin. The results of the conversion are then saved to a file or descriptor.
Image decoding is the process of taking an image stored in a file or descriptor, converting it from a specified format and writing the output to a CFbsBitmap
. The CImageDecoder
object is created specifying the source image and decoder plugin as parameters. The CImageDecoder::Convert()
function then decodes the image using the methods provided by the plugin. The results of the conversion are then saved to a CFbsBitmap
.
Image Processor is an interface to process the decoded image using the CImageProcessor
class.
The Image Conversion functionality is used for the following:
Rotate, crop, mirror and flip an image frame during decode operation.
Scaling with reduction factor of an image during decode operation.
Decode an image by requesting pixel data block by block.
Decode an image from a descriptor or a file.
Decode an image using a mask for the image with transparency.
Decode an image using separate thread.
Decode a JPEG image thumbnail.
Decode a GIF multi-frame image.
Decode an image that supports YUV format into an image frame.
Turning OFF and ON dithering during decode operation of the image.
Encode a bitmap or an image frame into a descriptor or a file.
Encode an image frame by passing pixel data block by block.
Rotate, mirror and flip an image during encode functionality.
Rotate a bitmap image.
Scaling a bitmap image with or without a mask.