Actions

Difference between revisions of "Strutures"

From XnView Wiki

(Created page with '== GFL_BITMAP == The GFL_BITMAP structure contains all informations about picture in memory. typedef struct (  GFL_BITMAP_TYPE Type,  GFL_ORIGIN Origin, &nbs…')
 
(Blanked the page)
 
Line 1: Line 1:
== GFL_BITMAP ==


The GFL_BITMAP structure contains all informations about picture in memory.
typedef struct (
 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_INT32 ColorUsed, 
 GFL_COLORMAP* ColorMap, 
 GFL_UINT8* Data, 
 char* Comment, 
 void* MetaData
} GFL_BITMAP
'''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|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.
typedef struct (
 GFL_UINT8 Red[256], 
 GFL_UINT8 Green[256], 
 GFL_UINT8 Blue[256]
} GFL_COLORMAP
'''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.
typedef struct (
 GFL_INT32 Index, 
 GFL_ORIGIN Name[8], 
 char Description[64], 
 GFL_UINT32 Status, 
 GFL_UINT32 NumberOfExtension, 
 char Extension[16][8]
} GFL_FORMAT_INFORMATION
'''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.
typedef struct (
 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_LOAD_PARAMS
'''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.
typedef struct (
  GFL_UINT32 Flags, 
  GFL_INT32 FormatIndex, 
  GFL_INT32 ImageWanted, 
  GFL_ORIGIN Origin, 
  GFL_BITMAP_TYPE ColorModel, 
  GFL_UINT32 LinePadding, 
  GFL_UINT8 DefaultAlpha, 
  GFL_UINT8 Reserved1, 
  GFL_UINT16 Reserved2, 
  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_READ_CALLBACK Read, 
  GFL_TELL_CALLBACK Tell, 
  GFL_SEEK_CALLBACK Seek
} GFL_LOAD_PARAMS
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.
Read
Pointer to a read user function.
Tell
Pointer to a tell user function.
Seek
Pointer to a seek user function.
See also
gflGetDefaultLoadParams, gflGetDefaultThumbnailParams, gflLoadBitmap, gflLoadBitmapFromHandle, gflLoadThumbnail, gflLoadThumbnailFromHandle
GFL_SAVE_PARAMS
The GFL_SAVE_PARAMS structure contains options for the save of picture.
typedef struct (
  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_UINT32 Offset, 
  GFL_CORDER ChannelOrder, 
  GFL_CTYPE ChannelType, 
  GFL_WRITE_CALLBACK Write, 
  GFL_TELL_CALLBACK Tell, 
  GFL_SEEK_CALLBACK Seek
} GFL_SAVE_PARAMS
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.
See also
gflGetDefaultSaveParams, gflSaveBitmap, gflSaveBitmapIntoHandle
GFL_RECT
The GFL_RECT structure define a rectangle.
typedef struct (
  GFL_INT32 x, 
  GFL_INT32 y, 
  GFL_INT32 w, 
  GFL_INT32 h
} GFL_RECT
Members
x
X position.
y
Y position.
w
Width.
h
Height.
See also
gflCrop
GFL_COLOR
The GFL_COLOR structure allow to define a color.
typedef struct (
  GFL_UINT16 Red, 
  GFL_UINT16 Green, 
  GFL_UINT16 Blue, 
  GFL_UINT16 Alpha
} GFL_COLOR
Members
Red
Define the red component.
Green
Define the green component.
Blue
Define the blue component.
Alpha
Define the alpha component.
See also
gflBalance, gflResizeCanvas, gflGetColorAt
GFL_POINT
The GFL_POINT structure allows to define a point.
typedef struct (
  GFL_INT32 x, 
  GFL_INT32 y
} GFL_POINT
Members
x
X position.
y
Y position.
GFL_FILTER
The GFL_FILTER structure allows to define a matrix for convolution (maximum 7x7).
typedef struct (
  GFL_INT16 Size, 
  GFL_INT16 Matrix[7*7], 
  GFL_INT16 Divisor, 
  GFL_INT16 Bias
} GFL_FILTER
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
See also
gflConvolve

Latest revision as of 09:44, 23 September 2009