Difference between revisions of "Structures"
From XnView Wiki
Line 3: | Line 3: | ||
The GFL_BITMAP structure contains all informations about picture in memory. | The GFL_BITMAP structure contains all informations about picture in memory. | ||
struct <b>GFL_BITMAP</b> ( | |||
GFL_BITMAP_TYPE Type | |||
GFL_ORIGIN Origin | |||
GFL_INT32 Width | |||
GFL_INT32 Height | |||
GFL_UINT32 BytesPerLine | |||
GFL_INT16 LinePadding | |||
GFL_UINT16 BitsPerComponent | |||
GFL_UINT16 ComponentsPerPixel | |||
GFL_UINT16 BytesPerPixel | |||
GFL_UINT16 Xdpi | |||
GFL_UINT16 Ydpi | |||
GFL_INT16 TransparentIndex | |||
GFL_INT16 Reserved | |||
GFL_INT32 ColorUsed | |||
GFL_COLORMAP* ColorMap | |||
GFL_UINT8* Data | |||
char* Comment | |||
} | void* MetaData | ||
GFL_INT32 XOffset | |||
GFL_INT32 YOffset | |||
char* Name | |||
} | |||
'''Members''' | '''Members''' | ||
Line 95: | Line 99: | ||
The GFL_COLORMAP structure is used for colormap. | The GFL_COLORMAP structure is used for colormap. | ||
struct <b>GFL_COLORMAP</b> ( | |||
GFL_UINT8 Red[256] | |||
GFL_UINT8 Green[256] | |||
GFL_UINT8 Blue[256] | |||
} | } | ||
'''Members''' | '''Members''' | ||
Line 115: | Line 119: | ||
The GFL_FORMAT_INFORMATION structure contains informations about a format available in GFL. | The GFL_FORMAT_INFORMATION structure contains informations about a format available in GFL. | ||
struct <b>GFL_FORMAT_INFORMATION</b> ( | |||
GFL_INT32 Index | |||
GFL_ORIGIN Name[8] | |||
char Description[64] | |||
GFL_UINT32 Status | |||
GFL_UINT32 NumberOfExtension | |||
char Extension[16][8] | |||
} | } | ||
'''Members''' | '''Members''' | ||
Line 146: | Line 150: | ||
The GFL_FILE_INFORMATION structure contains informations about a picture's file. | The GFL_FILE_INFORMATION structure contains informations about a picture's file. | ||
struct <b>GFL_FILE_INFORMATION</b> ( | |||
GFL_BITMAP_TYPE Type | |||
GFL_ORIGIN Origin | |||
GFL_INT32 Width | |||
GFL_INT32 Height | |||
GFL_INT32 FormatIndex | |||
char FormatName[8] | |||
char Description[64] | |||
GFL_UINT16 Xdpi | |||
GFL_UINT16 Ydpi | |||
GFL_UINT16 BitsPerComponent | |||
GFL_UINT16 ComponentsPerPixel | |||
GFL_INT32 NumberOfImages | |||
GFL_UINT32 FileSize | |||
GFL_COLORMODEL ColorModel | |||
GFL_COMPRESSION Compression | |||
char CompressionDescription[64] | |||
} | GFL_INT32 XOffset | ||
GFL_INT32 YOffset | |||
void* ExtraInfos | |||
} | |||
'''Members''' | '''Members''' | ||
Line 260: | Line 267: | ||
The GFL_LOAD_PARAMS structure contains options for picture loading. | The GFL_LOAD_PARAMS structure contains options for picture loading. | ||
struct <b>GFL_LOAD_PARAMS</b> ( | |||
GFL_UINT32 Flags | |||
GFL_INT32 FormatIndex | |||
GFL_INT32 ImageWanted | |||
GFL_ORIGIN Origin | |||
GFL_BITMAP_TYPE ColorModel | |||
GFL_UINT32 LinePadding | |||
GFL_UINT8 DefaultAlpha | |||
GFL_UINT8 PsdNoAlphaForNonLayer | |||
GFL_UINT8 PngComposeWithAlpha | |||
GFL_UINT8 WMFHighResolution | |||
GFL_INT32 Width | |||
GFL_INT32 Height | |||
GFL_UINT32 Offset | |||
GFL_CORDER ChannelOrder | |||
GFL_CTYPE ChannelType | |||
GFL_UINT16 PcdBase | |||
GFL_UINT16 EpsDpi | |||
GFL_INT32 EpsWidth | |||
GFL_INT32 EpsHeight | |||
GFL_LUT_TYPE LutType | |||
GFL_UINT16 Reserved | |||
} | GFL_UINT16* LutData | ||
const char* LutFilename | |||
GFL_UINT8 CameraRawUseAutomaticBalance | |||
GFL_UINT8 CameraRawUseCameraBalance | |||
GFL_UINT8 CameraRawHighlight | |||
GFL_UINT8 CameraRawAutoBright | |||
float CameraRawGamma | |||
float CameraRawBrightness | |||
float CameraRawRedScaling | |||
float CameraRawBlueScaling | |||
GFL_LOAD_CALLBACKS Callbacks | |||
void* UserParams | |||
} | |||
'''Members''' | '''Members''' | ||
Line 400: | Line 419: | ||
:EpsHeight | :EpsHeight | ||
::For PS/EPS format, height to be used for loading. | ::For PS/EPS format, height to be used for loading. | ||
: | :Callbacks | ||
:: | ::A [[Structures#GFL_LOAD_CALLBACKS|GFL_LOAD_CALLBACKS]] structure | ||
Line 412: | Line 427: | ||
The GFL_SAVE_PARAMS structure contains options for the save of picture. | The GFL_SAVE_PARAMS structure contains options for the save of picture. | ||
struct <b>GFL_SAVE_PARAMS</b> ( | |||
GFL_UINT32 Flags | |||
GFL_INT32 FormatIndex | |||
GFL_COMPRESSION Compression | |||
GFL_INT16 Quality | |||
GFL_INT16 CompressionLevel | |||
GFL_BOOL Interlaced | |||
GFL_BOOL Progressive | |||
GFL_BOOL OptimizeHuffmanTable | |||
GFL_BOOL InAscii | |||
GFL_LUT_TYPE LutType | |||
GFL_UINT8 DpxByteOrder | |||
GFL_UINT8 CompressRatio | |||
GFL_UINT32 MaxFileSize | |||
GFL_UINT16* LutData | |||
const char* LutFilename | |||
} | GFL_UINT32 Offset | ||
GFL_CORDER ChannelOrder | |||
GFL_CTYPE ChannelType | |||
GFL_WRITE_CALLBACK Write | |||
GFL_TELL_CALLBACK Tell | |||
GFL_SEEK_CALLBACK Seek | |||
GFL_VIRTUAL_SAVE_CALLBACK GetLine | |||
void* GetLineParams | |||
void* UserParams | |||
} | |||
'''Members''' | '''Members''' | ||
Line 509: | Line 533: | ||
The GFL_RECT structure define a rectangle. | The GFL_RECT structure define a rectangle. | ||
struct <b>GFL_RECT</b>( | |||
GFL_INT32 x | |||
GFL_INT32 y | |||
GFL_INT32 w | |||
GFL_INT32 h | |||
} | } | ||
'''Members''' | '''Members''' | ||
Line 532: | Line 556: | ||
The GFL_COLOR structure allow to define a color. | The GFL_COLOR structure allow to define a color. | ||
struct <b>GFL_COLOR</b> ( | |||
GFL_UINT16 Red | |||
GFL_UINT16 Green | |||
GFL_UINT16 Blue | |||
GFL_UINT16 Alpha | |||
} | } | ||
'''Members''' | '''Members''' | ||
Line 555: | Line 579: | ||
The GFL_POINT structure allows to define a point. | The GFL_POINT structure allows to define a point. | ||
struct <b>GFL_POINT</b>( | |||
GFL_INT32 x | |||
GFL_INT32 y | |||
} | } | ||
'''Members''' | '''Members''' | ||
Line 572: | Line 596: | ||
The GFL_FILTER structure allows to define a matrix for convolution (maximum 7x7). | The GFL_FILTER structure allows to define a matrix for convolution (maximum 7x7). | ||
struct <b>GFL_FILTER</b>( | |||
GFL_INT16 Size | |||
GFL_INT16 Matrix[7*7] | |||
GFL_INT16 Divisor | |||
GFL_INT16 Bias | |||
} | } | ||
'''Members''' | '''Members''' | ||
Line 640: | Line 664: | ||
|} | |} | ||
struct <b>GFL_EXIF_ENTRY</b> { | |||
GFL_UINT32 Flag | GFL_UINT32 Flag /* EXIF_...IFD */ | ||
GFL_UINT32 Tag | GFL_UINT32 Tag | ||
const char* Name | const char* Name | ||
const char* Value | const char* Value | ||
} | } | ||
struct <b>GFL_EXIF_DATA</b> { | |||
GFL_UINT32 NumberOfItems | GFL_UINT32 NumberOfItems | ||
GFL_EXIF_ENTRY* ItemsList | GFL_EXIF_ENTRY* ItemsList | ||
} | } | ||
== GFL_LOAD_CALLBACKS == | == GFL_LOAD_CALLBACKS == | ||
struct <b>GFL_LOAD_CALLBACKS</b> { | |||
GFL_READ_CALLBACK Read | GFL_READ_CALLBACK Read | ||
GFL_TELL_CALLBACK Tell | GFL_TELL_CALLBACK Tell | ||
GFL_SEEK_CALLBACK Seek | GFL_SEEK_CALLBACK Seek | ||
GFL_ALLOCATEBITMAP_CALLBACK AllocateBitmap | GFL_ALLOCATEBITMAP_CALLBACK AllocateBitmap | ||
void* AllocateBitmapParams | void* AllocateBitmapParams | ||
GFL_PROGRESS_CALLBACK Progress | GFL_PROGRESS_CALLBACK Progress | ||
void* ProgressParams | void* ProgressParams | ||
GFL_WANTCANCEL_CALLBACK WantCancel | GFL_WANTCANCEL_CALLBACK WantCancel | ||
void* WantCancelParams | void* WantCancelParams | ||
GFL_VIRTUAL_LOAD_CALLBACK SetLine | GFL_VIRTUAL_LOAD_CALLBACK SetLine | ||
void* SetLineParams | void* SetLineParams | ||
} | } | ||
== GFL_EXIF_DATAEX == | == GFL_EXIF_DATAEX == | ||
Line 698: | Line 722: | ||
|} | |} | ||
struct <b>GFL_EXIF_ENTRYEX</b> { | |||
GFL_UINT16 Tag | GFL_UINT16 Tag | ||
GFL_UINT16 Format | GFL_UINT16 Format | ||
GFL_INT32 Ifd | GFL_INT32 Ifd | ||
GFL_INT32 NumberOfComponents | GFL_INT32 NumberOfComponents | ||
GFL_UINT32 Value | GFL_UINT32 Value | ||
GFL_INT32 DataLength | GFL_INT32 DataLength | ||
char* Data | char* Data | ||
GFL_EXIF_ENTRYEX* Next | GFL_EXIF_ENTRYEX* Next | ||
} | } | ||
struct <b>GFL_EXIF_DATAEX</b> { | |||
GFL_ENTRYEX* Root | GFL_ENTRYEX* Root | ||
GFL_INT32 UseMsbf | GFL_INT32 UseMsbf | ||
} | } |
Revision as of 16:50, 23 September 2009
GFL_BITMAP
The GFL_BITMAP structure contains all informations about picture in memory.
struct GFL_BITMAP ( GFL_BITMAP_TYPE Type GFL_ORIGIN Origin GFL_INT32 Width GFL_INT32 Height GFL_UINT32 BytesPerLine GFL_INT16 LinePadding GFL_UINT16 BitsPerComponent GFL_UINT16 ComponentsPerPixel GFL_UINT16 BytesPerPixel GFL_UINT16 Xdpi GFL_UINT16 Ydpi GFL_INT16 TransparentIndex GFL_INT16 Reserved GFL_INT32 ColorUsed GFL_COLORMAP* ColorMap GFL_UINT8* Data char* Comment void* MetaData GFL_INT32 XOffset GFL_INT32 YOffset char* Name }
Members
- Type
- Type of the picture
GFL_BINARY 0x0001 Binary GFL_GREY 0x0002 Grey scale GFL_COLORS 0x0004 Colors with colormap GFL_RGB 0x00010 TrueColors - Red/Green/Blue GFL_RGBA 0x0020 TrueColors - Red/Green/Blue/Alpha GFL_BGR 0x0040 TrueColors - Blue/Green/Red GFL_ABGR 0x0080 TrueColors - Alpha/Blue/Green/Red GFL_BGRA 0x0100 TrueColors - Blue/Green/Red/Alpha GFL_ARGB 0x0200 TrueColors - Alpha/Red/Green/Blue GFL_CMYK 0x0400 TrueColors - Cyan/Magenta/Yellow/Black
- Origin
- Origin of the picture.
GFL_TOP_LEFT 0 Top left (default) GFL_BOTTOM_LEFT 2 Bottom left GFL_TOP_RIGHT 1 Top right GFL_BOTTOM_RIGHT 3 Bottom right
- Width
- Width in pixels of the picture.
- Height
- Height in pixels of the picture.
- BytesPerLine
- Bytes per line of pixels.
- LinePadding
- Internal use, do not modify.
- BitsPerComponent
- Bits per component, can be 1, 8, 16
- ComponentsPerPixel
- Component per pixel, can be 1, 3 or 4
- BytesPerPixel
- Bytes per pixel (For example: 1, 3 or 4).
- Xdpi
- Pixels per inch in X axis.
- Ydpi
- Pixels per inch in Y axis.
- TransparentIndex
- Index of transparency (only for GFL_COLORS & GFL_GREY type).
- ColorUsed
- Number of color used in the picture (only for GFL_COLORS & GFL_GREY type).
- ColorMap
- Address of a GFL_COLORMAP structure for the colormap (only for GFL_COLORS type).
- Data
- Pointer of the picture data.
- Comment
- Address of a string used by the comment. You must use gflSetComment to change the comment.
- MetaData
- Pointer of Metadata. You must use gflBitmapGetIPTC & gflBitmapGetEXIF to obtain readable data.
GFL_COLORMAP
The GFL_COLORMAP structure is used for colormap.
struct GFL_COLORMAP ( GFL_UINT8 Red[256] GFL_UINT8 Green[256] GFL_UINT8 Blue[256] }
Members
- Red
- Array of red components.
- Green
- Array of green components.
- Blue
- Array of blue components.
GFL_FORMAT_INFORMATION
The GFL_FORMAT_INFORMATION structure contains informations about a format available in GFL.
struct GFL_FORMAT_INFORMATION ( GFL_INT32 Index GFL_ORIGIN Name[8] char Description[64] GFL_UINT32 Status GFL_UINT32 NumberOfExtension char Extension[16][8] }
Members
- Index
- Index of the format.
- Name
- Null-terminated string that contains the name of the format. For example, "jpeg" is for JPEG format.
- Description
- Null-terminated string that contains the label of the format.
- Status
- Format status.
- GFL_READ Reading support
- GFL_WRITE Writing support
- NumberOfExtension
- Nomber of extension known by this format.
- Extension
- Array of Null-terminated string that contains the extension.
GFL_FILE_INFORMATION
The GFL_FILE_INFORMATION structure contains informations about a picture's file.
struct GFL_FILE_INFORMATION ( GFL_BITMAP_TYPE Type GFL_ORIGIN Origin GFL_INT32 Width GFL_INT32 Height GFL_INT32 FormatIndex char FormatName[8] char Description[64] GFL_UINT16 Xdpi GFL_UINT16 Ydpi GFL_UINT16 BitsPerComponent GFL_UINT16 ComponentsPerPixel GFL_INT32 NumberOfImages GFL_UINT32 FileSize GFL_COLORMODEL ColorModel GFL_COMPRESSION Compression char CompressionDescription[64] GFL_INT32 XOffset GFL_INT32 YOffset void* ExtraInfos }
Members
- Type
- Not used
- Origin
- Origin of the picture.
GFL_TOP_LEFT 0 Top left (default) GFL_BOTTOM_LEFT 2 Bottom left GFL_TOP_RIGHT 1 Top right GFL_BOTTOM_RIGHT 3 Bottom right
- Width
- Width in pixels of the picture.
- Height
- Height in pixels of the picture.
- FormatIndex
- Index of picture's format.
- FormatName
- Name of picture's format.
- Description
- File label.
- Xdpi
- Pixels per inch in the X axis.
- Ydpi
- Pixels per inch in the Y axis.
- BitsPerComponent
- Bits per component, can be 1, 8, 16
- ComponentsPerPixel
- Component per pixel, can be 1, 3 or 4
- NumberOfImages
- Number of picture in the file.
- FileSize
- Size of the file.
- ColorModel
- Color model.
GFL_CM_RGB 0 Red-Green-Blue GFL_CM_GREY 1 Greyscale GFL_CM_CMY 2 Cyan-Magenta-Yellow GFL_CM_CMYK 3 Cyan-Magenta-Yellow-Black GFL_CM_YCBCR 4 YCbCr GFL_CM_YUV16 5 YUV 16bits GFL_CM_LAB 6 Lab GFL_CM_LOGLUV 7 Log Luv GFL_CM_LOGL 8 Log L
- Compression
GFL_NO_COMPRESSION 0 No compression GFL_RLE 1 Packbits GFL_LZW 2 LZW GFL_JPEG 3 JPEG GFL_ZIP 4 ZIP GFL_SGI_RLE 5 SGI Packbits GFL_CCITT_RLE 6 CCITT RLE GFL_CCITT_FAX3 7 Fax Group 3 GFL_CCITT_FAX3_2D 8 Fax Group 3-2D GFL_CCITT_FAX4 9 Fax Group 4 GFL_WAVELET 10 Wavelet GFL_UNKNOWN_COMPRESSION 255 Other compression
- CompressionDescription
- Pointer to a buffer that contains the full compression description.
Remarks
- gflFreeFileInformation must be used for freeing the allocated memory.
GFL_LOAD_PARAMS
The GFL_LOAD_PARAMS structure contains options for picture loading.
struct GFL_LOAD_PARAMS ( GFL_UINT32 Flags GFL_INT32 FormatIndex GFL_INT32 ImageWanted GFL_ORIGIN Origin GFL_BITMAP_TYPE ColorModel GFL_UINT32 LinePadding GFL_UINT8 DefaultAlpha GFL_UINT8 PsdNoAlphaForNonLayer GFL_UINT8 PngComposeWithAlpha GFL_UINT8 WMFHighResolution GFL_INT32 Width GFL_INT32 Height GFL_UINT32 Offset GFL_CORDER ChannelOrder GFL_CTYPE ChannelType GFL_UINT16 PcdBase GFL_UINT16 EpsDpi GFL_INT32 EpsWidth GFL_INT32 EpsHeight GFL_LUT_TYPE LutType GFL_UINT16 Reserved GFL_UINT16* LutData const char* LutFilename GFL_UINT8 CameraRawUseAutomaticBalance GFL_UINT8 CameraRawUseCameraBalance GFL_UINT8 CameraRawHighlight GFL_UINT8 CameraRawAutoBright float CameraRawGamma float CameraRawBrightness float CameraRawRedScaling float CameraRawBlueScaling GFL_LOAD_CALLBACKS Callbacks void* UserParams }
Members
- Flags
- Options
GFL_LOAD_SKIP_ALPHA If the picture has an alpha channel, it is ignored GFL_LOAD_IGNORE_READ_ERROR Ignore all read errors GFL_LOAD_BY_EXTENSION_ONLY Use only extension to recognize the filetype GFL_LOAD_READ_ALL_COMMENT Read all comment in the file GFL_LOAD_FORCE_COLOR_MODEL ColorModel is used for the picture type GFL_LOAD_PREVIEW_NO_CANVAS_RESIZE Keep the ratio for the preview GFL_LOAD_BINARY_AS_GREY Load a binary file in 8bits GFL_LOAD_ORIGINAL_COLORMODEL If the color model of the file is CMYK, so the picture loaded will be in CMYK GFL_LOAD_ONLY_FIRST_FRAME If the color model of the file is CMYK, so the picture loaded will be in CMYK GFL_LOAD_ORIGINAL_DEPTH If the file has more than 8 bits per component, keep it GFL_LOAD_METADATA Read all metadata (IPTC & EXIF) GFL_LOAD_COMMENT Read comment GFL_LOAD_HIGH_QUALITY_THUMBNAIL Use high quality for gflLoadThumbnail
- FormatIndex
- Index of the format used to load.
- Default value : -1 (for an automatic recognition).
- ImageWanted
- For a multi-page file, identifies the image number.
- Default value : 0
- Origin
- Origin wanted.
GFL_TOP_LEFT Top left GFL_BOTTOM_LEFT Bottom left GFL_TOP_RIGHT Top right GFL_BOTTOM_RIGHT Bottom right
- Default value : GFF_TOP_LEFT
- ColorModel
- Color Model wanted.
GFL_RGB True colors - Red/Green/Blue (24 bits) GFL_BGR True colors - Blue/Green/Red (24 bits) GFL_RGBA True colors - Red/Green/Blue/Alpha (32 bits) GFL_ABGR True colors - Alpha/Blue/Green/Red (32 bits) GFL_BGRA True colors - Blue/Green/Red/Alpha (32 bits) GFL_ARGB True colors - Red/Green/Blue/Alpha (32 bits)
- Default value : GFL_RGB
- LinePadding
- Pad for a pixels line (For example, a value of 4 allow a line padding on 32bits).
- Default value : 1
- DefaultAlpha
- Alpha value to use when the picture is loaded in 32bits, but the original file doesn't have an alpha.
- Default value: Black
- Width
- For RAW or YUV format, width of picture.
- Height
- For RAW or YUV format, height of picture.
- Offset
- For RAW or YUV format, offset of the picture in the file.
- ChannelOrder
- For RAW format, channel order of the components. GFL_CORDER_INTERLEAVED :Interleaved
GFL_CORDER_SEQUENTIAL Sequential GFL_CORDER_SEPARATE Separate
- ChannelType
- For RAW format, channel type of the components.
GFL_CTYPE_GREYSCALE Greyscale GFL_CTYPE_RGB Red-Green-Blue GFL_CTYPE_BGR Blue-Green-Red GFL_CTYPE_RGBA Red-Green-Blue-Alpha GFL_CTYPE_ABGR Alpha-Blue-Green-Red GFL_CTYPE_CMY Cyan-Magenta-Yellow GFL_CTYPE_CMYK Cyan-Magenta-Yellow-Black
- PcdBase
- For PCD format, it's the base used.
0 192x144 1 384x288 2 768x576
- EpsDpi
- For PS/EPS format, dpi to be used for loading.
- EpsWidth
- For PS/EPS format, width to be used for loading.
- EpsHeight
- For PS/EPS format, height to be used for loading.
- Callbacks
- A GFL_LOAD_CALLBACKS structure
GFL_SAVE_PARAMS
The GFL_SAVE_PARAMS structure contains options for the save of picture.
struct GFL_SAVE_PARAMS ( GFL_UINT32 Flags GFL_INT32 FormatIndex GFL_COMPRESSION Compression GFL_INT16 Quality GFL_INT16 CompressionLevel GFL_BOOL Interlaced GFL_BOOL Progressive GFL_BOOL OptimizeHuffmanTable GFL_BOOL InAscii GFL_LUT_TYPE LutType GFL_UINT8 DpxByteOrder GFL_UINT8 CompressRatio GFL_UINT32 MaxFileSize GFL_UINT16* LutData const char* LutFilename GFL_UINT32 Offset GFL_CORDER ChannelOrder GFL_CTYPE ChannelType GFL_WRITE_CALLBACK Write GFL_TELL_CALLBACK Tell GFL_SEEK_CALLBACK Seek GFL_VIRTUAL_SAVE_CALLBACK GetLine void* GetLineParams void* UserParams }
Members
- Flags
- Options
GFL_SAVE_REPLACE_EXTENSION Replace extension by the default format extension GFL_SAVE_ANYWAY Convert picture if colormode can be saved in this format (For example, RGB picture must be converted in 256 colors to save it in GIF)
- FormatIndex
- Index of format to be used.
- Compression
GFL_NO_COMPRESSION No compression GFL_RLE Packbits GFL_LZW LZW (tiff only) GFL_CCITT_FAX3 Fax Group 3 (tiff only) GFL_CCITT_FAX3_2D Fax Group 3-2D (tiff only) GFL_CCITT_FAX4 Fax Group 4 (tiff only)
- Quality
- Quality of the compression (JPEG)
- 0: the worst, 100: the best
- CompressionLevel
- Level of compression (PNG).
- 1: minimum, 7: maximum
- Interlaced
- Interlaced mode (GIF).
- Progressive
- Progressive mode (JPEG).
- OptimizeHuffmanTable
- Optimize the Huffman table (JPEG).
- InAscii
- Use the ascii mode (PNM)
- Offset
- For RAW or YUV format, offset of the data start.
- ChannelOrder
- For RAW format, channel order of components.
GFL_CORDER_INTERLEAVED Interleaved GFL_CORDER_SEQUENTIAL Sequential GFL_CORDER_SEPARATE Separate
- ChannelType
- For RAW format, channel type of components.
GFL_CTYPE_GREYSCALE Greyscale GFL_CTYPE_RGB Red-Green-Blue GFL_CTYPE_BGR Bleu-Green-Red GFL_CTYPE_RGBA Red-Green-Bleu-Alpha GFL_CTYPE_ABGR Alpha-Bleu-Green-Red GFL_CTYPE_CMY Cyan-Magenta-Yellow GFL_CTYPE_CMYK Cyan-Magenta-Yellow-Black
- Write
- Pointer to a write user function.
- Tell
- Pointer to a tell user function.
- Seek
- Pointer to a seek user function.
GFL_RECT
The GFL_RECT structure define a rectangle.
struct GFL_RECT( GFL_INT32 x GFL_INT32 y GFL_INT32 w GFL_INT32 h }
Members
- x
- X position.
- y
- Y position.
- w
- Width.
- h
- Height.
GFL_COLOR
The GFL_COLOR structure allow to define a color.
struct GFL_COLOR ( GFL_UINT16 Red GFL_UINT16 Green GFL_UINT16 Blue GFL_UINT16 Alpha }
Members
- Red
- Define the red component.
- Green
- Define the green component.
- Blue
- Define the blue component.
- Alpha
- Define the alpha component.
GFL_POINT
The GFL_POINT structure allows to define a point.
struct GFL_POINT( GFL_INT32 x GFL_INT32 y }
Members
- x
- X position.
- y
- Y position.
GFL_FILTER
The GFL_FILTER structure allows to define a matrix for convolution (maximum 7x7).
struct GFL_FILTER( GFL_INT16 Size GFL_INT16 Matrix[7*7] GFL_INT16 Divisor GFL_INT16 Bias }
Members
- Size
- Define the width of the matrix (maximum 7).
- Matrix
- Define each values fo the matrix.
- Divisor
- Define the divisor to apply.
- Bias
- Define the bias to apply.
Example
- A "blur" matrix is defined like this:
- Size = 3
- Matrix = (1 2 1 2 4 2 1 2 1)
- Divisor = 16
- Bias = 0
GFL_EXIF_DATA
IFD
GFL_EXIF_IFD_0 0x0001 GFL_EXIF_MAIN_IFD 0x0002 GFL_EXIF_INTEROPERABILITY_IFD 0x0004 GFL_EXIF_IFD_THUMBNAIL 0x0008 GFL_EXIF_GPS_IFD 0x0010 GFL_EXIF_MAKERNOTE_IFD 0x0020
Some tags
GFL_EXIF_MAKER 0x010F GFL_EXIF_MODEL 0x0110 GFL_EXIF_ORIENTATION 0x0112 GFL_EXIF_EXPOSURETIME 0x829A GFL_EXIF_FNUMBER 0x829D GFL_EXIF_DATETIME_ORIGINAL 0x9003 GFL_EXIF_SHUTTERSPEED 0x9201 GFL_EXIF_APERTURE 0x9202 GFL_EXIF_MAXAPERTURE 0x9205 GFL_EXIF_FOCALLENGTH 0x920A
struct GFL_EXIF_ENTRY { GFL_UINT32 Flag /* EXIF_...IFD */ GFL_UINT32 Tag const char* Name const char* Value }
struct GFL_EXIF_DATA { GFL_UINT32 NumberOfItems GFL_EXIF_ENTRY* ItemsList }
GFL_LOAD_CALLBACKS
struct GFL_LOAD_CALLBACKS { GFL_READ_CALLBACK Read GFL_TELL_CALLBACK Tell GFL_SEEK_CALLBACK Seek GFL_ALLOCATEBITMAP_CALLBACK AllocateBitmap void* AllocateBitmapParams GFL_PROGRESS_CALLBACK Progress void* ProgressParams GFL_WANTCANCEL_CALLBACK WantCancel void* WantCancelParams GFL_VIRTUAL_LOAD_CALLBACK SetLine void* SetLineParams }
GFL_EXIF_DATAEX
Tag format
GFL_EXIF_BYTE 1 GFL_EXIF_STRING 2 GFL_EXIF_USHORT 3 GFL_EXIF_ULONG 4 GFL_EXIF_URATIONAL 5 GFL_EXIF_SBYTE 6 GFL_EXIF_UNDEFINED 7 GFL_EXIF_SSHORT 8 GFL_EXIF_SLONG 9 GFL_EXIF_SRATIONAL 10 GFL_EXIF_SINGLEF 11 GFL_EXIF_DOUBLE 12
struct GFL_EXIF_ENTRYEX { GFL_UINT16 Tag GFL_UINT16 Format GFL_INT32 Ifd GFL_INT32 NumberOfComponents GFL_UINT32 Value GFL_INT32 DataLength char* Data GFL_EXIF_ENTRYEX* Next }
struct GFL_EXIF_DATAEX { GFL_ENTRYEX* Root GFL_INT32 UseMsbf }