diff options
Diffstat (limited to 'im/include/im_format_raw.h')
-rwxr-xr-x | im/include/im_format_raw.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/im/include/im_format_raw.h b/im/include/im_format_raw.h new file mode 100755 index 0000000..4600271 --- /dev/null +++ b/im/include/im_format_raw.h @@ -0,0 +1,74 @@ +/** \file + * \brief Initialize the RAW Format Driver + * Header for internal use only. + * + * See Copyright Notice in im_lib.h + */ + +#ifndef __IM_FORMAT_RAW_H +#define __IM_FORMAT_RAW_H + +#if defined(__cplusplus) +extern "C" { +#endif + +/** \defgroup raw RAW - RAW File + * + * \par + * The file must be open/created with the functions \ref imFileOpenRaw and \ref imFileNewRaw. + * + * \section Description + * + * \par + * Internal Implementation. + * \par + * Supports RAW binary images. This is an unstructured and uncompressed binary data. + * It is NOT a Camera RAW file generated in many professional digital cameras. \n + * You must know image parameters a priori and must set the IM_INT attributes "Width", "Height", "ColorMode", "DataType" + * before the imFileReadImageInfo/imFileWriteImageInfo functions. + * \par + * The data must be in binary form, but can start in an arbitrary offset from the begining of the file, use attribute "StartOffset". + * The default is at 0 offset. + * \par + * Integer sign and double precision can be converted using attribute "SwitchType". \n + * The conversions will be BYTE<->CHAR, USHORT<->SHORT, INT<->UINT, FLOAT<->DOUBLE. + * \par + * Byte Order can be Little Endian (Intel=1) or Big Endian (Motorola=0), use the attribute "ByteOrder", the default is the current CPU. + * \par + * The lines can be aligned to a BYTE (1), WORD (2) or DWORD (4) boundaries, ue attribute "Padding" with the respective value. + * \par + * If the compression is ASCII the data is stored in textual format, instead of binary. + * In this case SwitchType and ByteOrder are ignored, and Padding should be 0. + * \par + * See \ref im_raw.h + * + * \section Features + * +\verbatim + Data Types: <all> + Color Spaces: all, except MAP. + Compressions: + NONE - no compression [default] + ASCII (textual data) + Can have more than one image, depends on "StartOffset" attribute. + Can have an alpha channel. + Components can be packed or not. + Lines arranged from top down to bottom or bottom up to top. + + Attributes: + Width, Height, ColorMode, DataType IM_INT (1) + ImageCount[1], StartOffset[0], SwitchType[FALSE], ByteOrder[IM_LITTLEENDIAN], Padding[0] IM_INT (1) + + Comments: + In fact ASCII is an expansion, not a compression, because the file will be larger than binary data. +\endverbatim + * \ingroup format */ +imFormat* imFormatInitRAW(void); + +void imFormatFinishRAW(void); + +#if defined(__cplusplus) +} +#endif + +#endif |