Actions

Strutures

From XnView Wiki

Revision as of 18:00, 22 September 2009 by WikiSysop (talk | contribs) (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…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 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