FreeImageNET
Encapsulates a FreeImage-bitmap.
Indicates whether this instance is disposed.
Tab object.
Object used to syncronize lock methods.
Holds information used by SaveAdd() methods.
The stream that this instance was loaded from or
null if it has been cloned or deserialized.
True if the stream must be disposed with this
instance.
The number of frames contained by a mutlipage bitmap.
Default value is 1 and only changed if needed.
The index of the loaded frame.
Default value is 0 and only changed if needed.
Format of the sourceimage.
Handle to the encapsulated FreeImage-bitmap.
Initializes a new instance of the class.
Initializes a new instance of the class.
For internal use only.
The operation failed.
Initializes a new instance of the class
bases on the specified image.
The original to clone from.
The operation failed.
is a null reference.
Initializes a new instance of the class
bases on the specified image with the specified size.
The original to clone from.
The Size structure that represent the
size of the new .
The operation failed.
is a null reference.
or are less or equal zero.
Initializes a new instance of the class
bases on the specified image with the specified size.
The original to clone from.
Width of the new .
Height of the new .
The operation failed.
is a null reference.
or are less or equal zero.
Initializes a new instance of the class
bases on the specified image.
The original to clone from.
Although this constructor supports creating images in both formats
and , bitmaps
created in these formats are treated like any normal 32-bit RGBA and 64-bit RGBA
images respectively. Currently, there is no support for automatic premultiplying images in
.
The operation failed.
Initializes a new instance of the class
bases on the specified image with the specified size.
The original to clone from.
The Size structure that represent the
size of the new .
Although this constructor supports creating images in both formats
and , bitmaps
created in these formats are treated like any normal 32-bit RGBA and 64-bit RGBA
images respectively. Currently, there is no support for automatic premultiplying images in
.
The operation failed.
is a null reference.
or are less or equal zero.
Initializes a new instance of the class
bases on the specified image with the specified size.
The original to clone from.
The width, in pixels, of the new .
The height, in pixels, of the new .
Although this constructor supports creating images in both formats
and , bitmaps
created in these formats are treated like any normal 32-bit RGBA and 64-bit RGBA
images respectively. Currently, there is no support for automatic premultiplying images in
.
The operation failed.
is a null reference.
or are less or equal zero.
Initializes a new instance of the class
bases on the specified image.
The original to clone from.
Although this constructor supports creating images in both formats
and , bitmaps
created in these formats are treated like any normal 32-bit RGBA and 64-bit RGBA
images respectively. Currently, there is no support for automatic premultiplying images in
.
is a null reference.
The operation failed.
Initializes a new instance of the class
bases on the specified image with the specified size.
The original to clone from.
The Size structure that represent the
size of the new .
Although this constructor supports creating images in both formats
and , bitmaps
created in these formats are treated like any normal 32-bit RGBA and 64-bit RGBA
images respectively. Currently, there is no support for automatic premultiplying images in
.
The operation failed.
is a null reference.
or are less or equal zero.
Initializes a new instance of the class
bases on the specified image with the specified size.
The original to clone from.
The width, in pixels, of the new .
The height, in pixels, of the new .
Although this constructor supports creating images in both formats
and , bitmaps
created in these formats are treated like any normal 32-bit RGBA and 64-bit RGBA
images respectively. Currently, there is no support for automatic premultiplying images in
.
The operation failed.
is a null reference.
or are less or equal zero.
Initializes a new instance of the class
bases on the specified stream.
Stream to read from.
Ignored.
The operation failed.
is a null reference.
You must keep the stream open for the lifetime of the .
Initializes a new instance of the class
bases on the specified stream.
Stream to read from.
The operation failed.
is a null reference.
You must keep the stream open for the lifetime of the .
Initializes a new instance of the class
bases on the specified stream in the specified format.
Stream to read from.
Format of the image.
The operation failed.
is a null reference.
You must keep the stream open for the lifetime of the .
Initializes a new instance of the class
bases on the specified stream with the specified loading flags.
Stream to read from.
Flags to enable or disable plugin-features.
The operation failed.
is a null reference.
You must keep the stream open for the lifetime of the .
Initializes a new instance of the class
bases on the specified stream in the specified format
with the specified loading flags.
Stream to read from.
Format of the image.
Flags to enable or disable plugin-features.
The operation failed.
is a null reference.
You must keep the stream open for the lifetime of the .
Initializes a new instance of the class bases on the specified file.
The complete name of the file to load.
The operation failed.
is a null reference.
does not exist.
Initializes a new instance of the class bases on the specified file.
The complete name of the file to load.
Ignored.
The operation failed.
is a null reference.
does not exist.
Initializes a new instance of the class bases on the specified file
with the specified loading flags.
The complete name of the file to load.
Flags to enable or disable plugin-features.
The operation failed.
is a null reference.
does not exist.
Initializes a new instance of the class bases on the specified file
in the specified format.
The complete name of the file to load.
Format of the image.
The operation failed.
is a null reference.
does not exist.
Initializes a new instance of the class bases on the specified file
in the specified format with the specified loading flags.
The complete name of the file to load.
Format of the image.
Flags to enable or disable plugin-features.
The operation failed.
is a null reference.
does not exist.
Initializes a new instance of the class
bases on the specified size.
The width, in pixels, of the new .
The height, in pixels, of the new .
The operation failed.
Initializes a new instance of the class bases on the specified resource.
The class used to extract the resource.
The name of the resource.
The operation failed.
Initializes a new instance of the class bases on the specified size
and with the resolution of the specified object.
The width, in pixels, of the new .
The height, in pixels, of the new .
The Graphics object that specifies the resolution for the new .
The operation failed.
is a null reference.
Initializes a new instance of the class bases on the specified size and format.
The width, in pixels, of the new .
The height, in pixels, of the new .
The PixelFormat enumeration for the new .
Although this constructor supports creating images in both formats
and , bitmaps
created in these formats are treated like any normal 32-bit RGBA and 64-bit RGBA
images respectively. Currently, there is no support for automatic premultiplying images in
.
The operation failed.
is invalid.
or are less or equal zero.
Initializes a new instance of the class bases on the specified size and type.
Only non standard bitmaps are supported.
The width, in pixels, of the new .
The height, in pixels, of the new .
The type of the bitmap.
The operation failed.
is FIT_BITMAP or FIT_UNKNOWN.
is invalid.
or are less or equal zero.
Initializes a new instance of the class bases on the specified size,
pixel format and pixel data.
The width, in pixels, of the new .
The height, in pixels, of the new .
Integer that specifies the byte offset between the beginning
of one scan line and the next. This is usually (but not necessarily)
the number of bytes in the pixel format (for example, 2 for 16 bits per pixel)
multiplied by the width of the bitmap. The value passed to this parameter must
be a multiple of four..
The PixelFormat enumeration for the new .
Pointer to an array of bytes that contains the pixel data.
Although this constructor supports creating images in both formats
and , bitmaps
created in these formats are treated like any normal 32-bit RGBA and 64-bit RGBA
images respectively. Currently, there is no support for automatic premultiplying images in
.
The operation failed.
is invalid.
or are less or equal zero.
Initializes a new instance of the class bases on the specified size,
pixel format and pixel data.
The width, in pixels, of the new .
The height, in pixels, of the new .
Integer that specifies the byte offset between the beginning
of one scan line and the next. This is usually (but not necessarily)
the number of bytes in the pixel format (for example, 2 for 16 bits per pixel)
multiplied by the width of the bitmap. The value passed to this parameter must
be a multiple of four..
The PixelFormat enumeration for the new .
Array of bytes containing the bitmap data.
Although this constructor supports creating images in both formats
and , bitmaps
created in these formats are treated like any normal 32-bit RGBA and 64-bit RGBA
images respectively. Currently, there is no support for automatic premultiplying images in
.
The operation failed.
is invalid.
or are less or equal zero.
is null
Initializes a new instance of the class bases on the specified size,
pixel format and pixel data.
The width, in pixels, of the new .
The height, in pixels, of the new .
Integer that specifies the byte offset between the beginning
of one scan line and the next. This is usually (but not necessarily)
the number of bytes in the pixel format (for example, 2 for 16 bits per pixel)
multiplied by the width of the bitmap. The value passed to this parameter must
be a multiple of four..
The color depth of the new
The type for the new .
Pointer to an array of bytes that contains the pixel data.
The operation failed.
is invalid.
or are less or equal zero.
Initializes a new instance of the class bases on the specified size,
pixel format and pixel data.
The width, in pixels, of the new .
The height, in pixels, of the new .
Integer that specifies the byte offset between the beginning
of one scan line and the next. This is usually (but not necessarily)
the number of bytes in the pixel format (for example, 2 for 16 bits per pixel)
multiplied by the width of the bitmap. The value passed to this parameter must
be a multiple of four..
The color depth of the new
The type for the new .
Array of bytes containing the bitmap data.
The operation failed.
is invalid.
or are less or equal zero.
is null
Initializes a new instance of the class.
The operation failed.
The operation failed.
Frees all managed and unmanaged ressources.
Converts a instance to a instance.
A instance.
A new instance of initialized to .
The explicit conversion from into Bitmap
allows to create an instance on the fly and use it as if
was a Bitmap. This way it can be directly used with a
PixtureBox for example without having to call any
conversion operations.
Converts a instance to a instance.
A instance.
A new instance of initialized to .
The explicit conversion from into
allows to create an instance on the fly to perform
image processing operations and converting it back.
Determines whether two specified objects have the same value.
A or a null reference (Nothing in Visual Basic).
A or a null reference (Nothing in Visual Basic).
true if the value of left is the same as the value of right; otherwise, false.
Determines whether two specified objects have different values.
A or a null reference (Nothing in Visual Basic).
A or a null reference (Nothing in Visual Basic).
true if the value of left is different from the value of right; otherwise, false.
Gets the bounds of this in the specified unit.
One of the values indicating
the unit of measure for the bounding rectangle.
The that represents the bounds of this
, in the specified unit.
Gets the specified property item from this .
The ID of the property item to get.
The this method gets.
Returns a thumbnail for this .
The width, in pixels, of the requested thumbnail image.
The height, in pixels, of the requested thumbnail image.
Ignored.
Ignored.
A that represents the thumbnail.
Returns a thumbnail for this , keeping aspect ratio.
defines the maximum width or height
of the thumbnail.
Thumbnail square size.
When true HDR images are transperantly
converted to standard images.
The thumbnail in a new instance.
Converts this instance to a instance.
A new instance of initialized this instance.
Returns an instance of , representing the scanline
specified by of this .
Since FreeImage bitmaps are always bottum up aligned, keep in mind that scanline 0 is the
bottom-most line of the image.
Number of the scanline to retrieve.
An instance of representing the
th scanline.
List of return-types of T:
Color Depth / TypeResult Type
- 1 ()
- 4 ()
- 8 ()
- 16 ()
- 16 - 555 ()
- 16 - 565 ()
- 24 ()
- 32 ()
FreeImageBitmap bitmap = new FreeImageBitmap(@"C:\Pictures\picture.bmp");
if (bitmap.ColorDepth == 32)
{
Scanline<RGBQUAD> scanline = bitmap.GetScanline<RGBQUAD>(0);
foreach (RGBQUAD pixel in scanline)
{
Console.WriteLine(pixel);
}
}
The bitmap's type or color depth are not supported.
is no valid value.
Returns an instance of , representing the scanline
specified by of this .
Since FreeImage bitmaps are always bottum up aligned, keep in mind that scanline 0 is the
bottom-most line of the image.
Number of the scanline to retrieve.
An instance of representing the
th scanline.
List of return-types of T:
Color Depth / TypeResult Type
- 1 ()
- 4 ()
- 8 ()
- 16 ()
- 16 - 555 ()
- 16 - 565 ()
- 24 ()
- 32 ()
FreeImageBitmap bitmap = new FreeImageBitmap(@"C:\Pictures\picture.bmp");
if (bitmap.ColorDepth == 32)
{
Scanline<RGBQUAD> scanline = (Scanline<RGBQUAD>)bitmap.GetScanline(0);
foreach (RGBQUAD pixel in scanline)
{
Console.WriteLine(pixel);
}
}
The type of the bitmap or color depth are not supported.
is no valid value.
Returns a pointer to the specified scanline.
Due to FreeImage bitmaps are bottum up,
scanline 0 is the most bottom line of the image.
Number of the scanline.
Pointer to the scanline.
Returns a list of structures, representing the scanlines of this .
Due to FreeImage bitmaps are bottum up, scanline 0 is the
bottom-most line of the image.
Each color depth has a different representing structure due to different memory layouts.
List of return-types of T:
Color Depth / TypeResult Type of IEnmuerable<Scanline<T>>
- 1 ()
- 4 ()
- 8 ()
- 16 ()
- 16 - 555 ()
- 16 - 565 ()
- 24 ()
- 32 ()
Removes the specified property item from this .
The ID of the property item to remove.
This method rotates, flips, or rotates and flips this .
A RotateFlipType member
that specifies the type of rotation and flip to apply to this .
Copies the metadata from another .
The bitmap to read the metadata from.
is a null reference.
Copies the metadata from another using
the provided options.
The bitmap to read the metadata from.
Specifies the way the metadata is copied.
is a null reference.
Saves this to the specified file.
A string that contains the name of the file to which
to save this .
is null or empty.
Saving the image failed.
Saves this to the specified file in the specified format.
A string that contains the name of the file to which
to save this .
An that specifies the format of the saved image.
is null or empty.
Saving the image failed.
Saves this to the specified file in the specified format
using the specified saving flags.
A string that contains the name of the file to which
to save this .
An that specifies the format of the saved image.
Flags to enable or disable plugin-features.
is null or empty.
Saving the image failed.
Saves this to the specified stream in the specified format.
The stream where this will be saved.
An that specifies the format of the saved image.
is a null reference.
Saving the image failed.
Saves this to the specified stream in the specified format
using the specified saving flags.
The stream where this will be saved.
An that specifies the format of the saved image.
Flags to enable or disable plugin-features.
is a null reference.
Saving the image failed.
Adds a frame to the file specified in a previous call to the
method.
This instance has not been saved to a file using Save(...) before.
Adds a frame to the file specified in a previous call to the method.
The position at which the frame should be inserted.
This instance has not yet been saved to a file using the Save(...) method.
is out of range.
Adds a frame to the file specified in a previous call to the method.
A that contains the frame to add.
This instance has not yet been saved to a file using the Save(...) method.
Adds a frame to the file specified in a previous call to the method.
A that contains the frame to add.
The position at which the frame should be inserted.
This instance has not yet been saved to a file using the Save(...) method.
is out of range.
Adds a frame to the file specified.
File to add this frame to.
is a null reference.
does not exist.
Saving the image has failed.
Adds a frame to the file specified.
File to add this frame to.
The position at which the frame should be inserted.
is a null reference.
does not exist.
Saving the image has failed.
is out of range.
Adds a frame to the file specified using the specified parameters.
File to add this frame to.
Format of the image.
Flags to enable or disable plugin-features.
Flags to enable or disable plugin-features.
is a null reference.
does not exist.
Saving the image has failed.
Adds a frame to the file specified using the specified parameters.
File to add this frame to.
The position at which the frame should be inserted.
Format of the image.
Flags to enable or disable plugin-features.
Flags to enable or disable plugin-features.
is a null reference.
does not exist.
Saving the image has failed.
is out of range.
Selects the frame specified by the index.
The index of the active frame.
is out of range.
The operation failed.
The source of the bitmap is not available.
Creates a GDI bitmap object from this .
A handle to the GDI bitmap object that this method creates.
Creates a GDI bitmap object from this .
A structure that specifies the background color.
This parameter is ignored if the bitmap is totally opaque.
A handle to the GDI bitmap object that this method creates.
Returns the handle to an icon.
A Windows handle to an icon with the same image as this .
Creates a GDI bitmap object from this with the same
color depth as the primary device.
A handle to the GDI bitmap object that this method creates.
Gets the of the specified pixel in this .
The x-coordinate of the pixel to retrieve.
The y-coordinate of the pixel to retrieve.
A structure that represents the color of the specified pixel.
The operation failed.
The type of this bitmap is not supported.
Makes the default transparent color transparent for this .
Makes the specified color transparent for this .
The structure that represents
the color to make transparent.
This method is not implemented.
Sets the of the specified pixel in this .
The x-coordinate of the pixel to set.
The y-coordinate of the pixel to set.
A structure that represents the color
to assign to the specified pixel.
The operation failed.
The type of this bitmap is not supported.
Sets the resolution for this .
The horizontal resolution, in dots per inch, of this .
The vertical resolution, in dots per inch, of this .
This function is not yet implemented.
This method is not implemented.
This function is not yet implemented.
This method is not implemented.
This function is not yet implemented.
This method is not implemented.
Converts this into a different color depth.
The parameter specifies color depth, greyscale conversion
and palette reorder.
Adding the flag
will first perform a convesion to greyscale. This can be done with any target
color depth.
Adding the flag
will allow the algorithm to reorder the palette. This operation will not be performed to
non-greyscale images to prevent data loss by mistake.
A bitfield containing information about the conversion
to perform.
Returns true on success, false on failure.
Converts this to
initializing a new instance.
In case source and destination type are the same, the operation fails.
An error message can be catched using the 'Message' event.
Destination type.
True to scale linear, else false.
Returns true on success, false on failure.
Converts this to .
In case source and destination type are the same, the operation fails.
An error message can be catched using the 'Message' event.
Destination type.
True to scale linear, else false.
The converted instance.
Converts this into a different color depth initializing
a new instance.
The parameter specifies color depth, greyscale conversion
and palette reorder.
Adding the flag will
first perform a convesion to greyscale. This can be done with any target color depth.
Adding the flag will
allow the algorithm to reorder the palette. This operation will not be performed to
non-greyscale images to prevent data loss by mistake.
A bitfield containing information about the conversion
to perform.
The converted instance.
Rescales this to the specified size using the
specified filter.
The Size structure that represent the
size of the new .
Filter to use for resizing.
Returns true on success, false on failure.
Rescales this to the specified size using the
specified filter.
Width of the new .
Height of the new .
Filter to use for resizing.
Returns true on success, false on failure.
Rescales this to the specified size using the
specified filter initializing a new instance.
The Size structure that represent the
size of the new .
Filter to use for resizing.
The rescaled instance.
Rescales this to the specified size using the
specified filter initializing a new instance.
Width of the new .
Height of the new .
Filter to use for resizing.
The rescaled instance.
Enlarges or shrinks this selectively per side and fills
newly added areas with the specified background color.
See for further details.
The type of the specified color.
The number of pixels, the image should be enlarged on its left side.
Negative values shrink the image on its left side.
The number of pixels, the image should be enlarged on its top side.
Negative values shrink the image on its top side.
The number of pixels, the image should be enlarged on its right side.
Negative values shrink the image on its right side.
The number of pixels, the image should be enlarged on its bottom side.
Negative values shrink the image on its bottom side.
The color, the enlarged sides of the image should be filled with.
true on success, false on failure.
Enlarges or shrinks this selectively per side and fills
newly added areas with the specified background color.
See for further details.
The type of the specified color.
The number of pixels, the image should be enlarged on its left side.
Negative values shrink the image on its left side.
The number of pixels, the image should be enlarged on its top side.
Negative values shrink the image on its top side.
The number of pixels, the image should be enlarged on its right side.
Negative values shrink the image on its right side.
The number of pixels, the image should be enlarged on its bottom side.
Negative values shrink the image on its bottom side.
The color, the enlarged sides of the image should be filled with.
Options that affect the color search process for palletized images.
true on success, false on failure.
Enlarges or shrinks this selectively per side and fills
newly added areas with the specified background color returning a new instance.
See for further details.
The type of the specified color.
The number of pixels, the image should be enlarged on its left side.
Negative values shrink the image on its left side.
The number of pixels, the image should be enlarged on its top side.
Negative values shrink the image on its top side.
The number of pixels, the image should be enlarged on its right side.
Negative values shrink the image on its right side.
The number of pixels, the image should be enlarged on its bottom side.
Negative values shrink the image on its bottom side.
The color, the enlarged sides of the image should be filled with.
The enlarged instance.
Enlarges or shrinks this selectively per side and fills
newly added areas with the specified background color returning a new instance.
See for further details.
The type of the specified color.
The number of pixels, the image should be enlarged on its left side.
Negative values shrink the image on its left side.
The number of pixels, the image should be enlarged on its top side.
Negative values shrink the image on its top side.
The number of pixels, the image should be enlarged on its right side.
Negative values shrink the image on its right side.
The number of pixels, the image should be enlarged on its bottom side.
Negative values shrink the image on its bottom side.
The color, the enlarged sides of the image should be filled with.
Options that affect the color search process for palletized images.
The enlarged instance.
Quantizes this from 24 bit to 8bit creating a new
palette with the specified using the specified
.
The color reduction algorithm to be used.
Size of the desired output palette.
Returns true on success, false on failure.
Quantizes this from 24 bit to 8bit creating a new
palette with the specified using the specified
and the specified
palette up to the
specified length.
The color reduction algorithm to be used.
Size of the desired output palette.
The provided palette.
Returns true on success, false on failure.
Quantizes this from 24 bit to 8bit creating a new
palette with the specified using the specified
and the specified
palette up to the
specified length.
The color reduction algorithm to be used.
Size of the desired output palette.
Size of the provided palette of ReservePalette.
The provided palette.
Returns true on success, false on failure.
Quantizes this from 24 bit to 8bit creating a new
palette with the specified using the specified
and the specified
palette up to the
specified length.
The color reduction algorithm to be used.
Size of the desired output palette.
Size of the provided palette of ReservePalette.
The provided palette.
Returns true on success, false on failure.
Quantizes this from 24 bit, using the specified
initializing a new 8 bit instance with the
specified .
The color reduction algorithm to be used.
Size of the desired output palette.
The quantized instance.
Quantizes this from 24 bit, using the specified
and palette
initializing a new 8 bit instance with the specified .
The color reduction algorithm to be used.
Size of the desired output palette.
The provided palette.
The quantized instance.
Quantizes this from 24 bit, using the specified
and up to
entries from palette initializing
a new 8 bit instance with the specified .
The color reduction algorithm to be used.
Size of the desired output palette.
Size of the provided palette.
The provided palette.
The quantized instance.
Quantizes this from 24 bit, using the specified
and up to
entries from palette initializing
a new 8 bit instance with the specified .
The color reduction algorithm to be used.
Size of the desired output palette.
Size of the provided palette.
The provided palette.
The quantized instance.
Converts a High Dynamic Range image to a 24-bit RGB image using a global
operator based on logarithmic compression of luminance values, imitating
the human response to light.
A gamma correction that is applied after the tone mapping.
A value of 1 means no correction.
Scale factor allowing to adjust the brightness of the output image.
Returns true on success, false on failure.
Converts a High Dynamic Range image to a 24-bit RGB image using a global operator inspired
by photoreceptor physiology of the human visual system.
Controls the overall image intensity in the range [-8, 8].
Controls the overall image contrast in the range [0.3, 1.0[.
Returns true on success, false on failure.
Apply the Gradient Domain High Dynamic Range Compression to a RGBF image and convert to 24-bit RGB.
Color saturation (s parameter in the paper) in [0.4..0.6]
Atenuation factor (beta parameter in the paper) in [0.8..0.9]
Returns true on success, false on failure.
This method rotates a 1-, 4-, 8-bit greyscale or a 24-, 32-bit color image by means of 3 shears.
For 1- and 4-bit images, rotation is limited to angles whose value is an integer
multiple of 90.
The angle of rotation.
Returns true on success, false on failure.
This method rotates a 1-, 4-, 8-bit greyscale or a 24-, 32-bit color image by means of 3 shears.
For 1- and 4-bit images, rotation is limited to angles whose value is an integer
multiple of 90.
The type of the color to use as background.
The angle of rotation.
The color used used to fill the bitmap's background.
Returns true on success, false on failure.
Rotates this by the specified angle initializing a new instance.
For 1- and 4-bit images, rotation is limited to angles whose value is an integer
multiple of 90.
The type of the color to use as background.
The angle of rotation.
The color used used to fill the bitmap's background.
The rotated instance.
Rotates this by the specified angle initializing a new instance.
For 1- and 4-bit images, rotation is limited to angles whose value is an integer
multiple of 90.
The angle of rotation.
The rotated instance.
This method performs a rotation and / or translation of an 8-bit greyscale,
24- or 32-bit image, using a 3rd order (cubic) B-Spline.
The angle of rotation.
Horizontal image translation.
Vertical image translation.
Rotation center x-coordinate.
Rotation center y-coordinate.
When true the irrelevant part of the image is set to a black color,
otherwise, a mirroring technique is used to fill irrelevant pixels.
Returns true on success, false on failure.
This method performs a rotation and / or translation of an 8-bit greyscale,
24- or 32-bit image, using a 3rd order (cubic) B-Spline initializing a new instance.
The angle of rotation.
Horizontal image translation.
Vertical image translation.
Rotation center x-coordinate.
Rotation center y-coordinate.
When true the irrelevant part of the image is set to a black color,
otherwise, a mirroring technique is used to fill irrelevant pixels.
The rotated instance.
Perfoms an histogram transformation on a 8-, 24- or 32-bit image.
The lookup table (LUT).
It's size is assumed to be 256 in length.
The color channel to be transformed.
Returns true on success, false on failure.
Performs gamma correction on a 8-, 24- or 32-bit image.
The parameter represents the gamma value to use (gamma > 0).
A value of 1.0 leaves the image alone, less than one darkens it, and greater than one lightens it.
Returns true on success, false on failure.
Adjusts the brightness of a 8-, 24- or 32-bit image by a certain amount.
A value 0 means no change,
less than 0 will make the image darker and greater than 0 will make the image brighter.
Returns true on success, false on failure.
Adjusts the contrast of a 8-, 24- or 32-bit image by a certain amount.
A value 0 means no change,
less than 0 will decrease the contrast and greater than 0 will increase the contrast of the image.
Returns true on success, false on failure.
Inverts each pixel data.
Returns true on success, false on failure.
Computes the image histogram.
Channel to compute from.
Array of integers containing the histogram.
Returns true on success, false on failure.
Retrieves the red, green, blue or alpha channel of a 24- or 32-bit image.
The color channel to extract.
The color channel in a new instance.
Insert a 8-bit dib into a 24- or 32-bit image.
Both images must have to same width and height.
The to insert.
The color channel to replace.
Returns true on success, false on failure.
Retrieves the real part, imaginary part, magnitude or phase of a complex image.
The color channel to extract.
The color channel in a new instance.
Set the real or imaginary part of a complex image.
Both images must have to same width and height.
The to insert.
The color channel to replace.
Returns true on success, false on failure.
Copy a sub part of this .
The subpart to copy.
The sub part in a new instance.
Copy a sub part of this .
Specifies the left position of the cropped rectangle.
Specifies the top position of the cropped rectangle.
Specifies the right position of the cropped rectangle.
Specifies the bottom position of the cropped rectangle.
The sub part in a new instance.
Alpha blend or combine a sub part image with this .
The bit depth of must be greater than or equal to the bit depth this instance.
The to paste into this instance.
Specifies the left position of the sub image.
Specifies the top position of the sub image.
alpha blend factor.
The source and destination images are alpha blended if alpha=0..255.
If alpha > 255, then the source image is combined to the destination image.
Returns true on success, false on failure.
Alpha blend or combine a sub part image with tthis .
The bit depth of must be greater than or equal to the bit depth this instance.
The to paste into this instance.
Specifies the position of the sub image.
alpha blend factor.
The source and destination images are alpha blended if alpha=0..255.
If alpha > 255, then the source image is combined to the destination image.
Returns true on success, false on failure.
This method composite a transparent foreground image against a single background color or
against a background image.
In case is false and
and
are null, a checkerboard will be used as background.
When true the background of this instance is used
if it contains one.
Backgroundcolor used in case is false
and is not null.
Background used in case
is false and is a null reference.
Returns true on success, false on failure.
Applies the alpha value of each pixel to its color components.
The aplha value stays unchanged.
Only works with 32-bits color depth.
Returns true on success, false on failure.
Solves a Poisson equation, remap result pixels to [0..1] and returns the solution.
Number of cycles in the multigrid algorithm (usually 2 or 3)
Returns true on success, false on failure.
Adjusts an image's brightness, contrast and gamma as well as it may
optionally invert the image within a single operation.
Percentage brightness value where -100 <= brightness <= 100.
A value of 0 means no change, less than 0 will make the image darker and greater
than 0 will make the image brighter.
Percentage contrast value where -100 <= contrast <= 100.
A value of 0 means no change, less than 0 will decrease the contrast
and greater than 0 will increase the contrast of the image.
Gamma value to be used for gamma correction.
A value of 1.0 leaves the image alone, less than one darkens it,
and greater than one lightens it.
This parameter must not be zero or smaller than zero.
If so, it will be ignored and no gamma correction will be performed on the image.
If set to true, the image will be inverted.
Returns true on success, false on failure.
Applies color mapping for one or several colors on a 1-, 4- or 8-bit
palletized or a 16-, 24- or 32-bit high color image.
Array of colors to be used as the mapping source.
Array of colors to be used as the mapping destination.
If true, 32-bit images and colors are treated as 24-bit.
If true, source and destination colors are swapped, that is,
each destination color is also mapped to the corresponding source color.
The total number of pixels changed.
or is a null reference.
has a different length than .
Swaps two specified colors on a 1-, 4- or 8-bit palletized
or a 16-, 24- or 32-bit high color image.
One of the two colors to be swapped.
The other of the two colors to be swapped.
If true, 32-bit images and colors are treated as 24-bit.
The total number of pixels changed.
Applies palette index mapping for one or several indices
on a 1-, 4- or 8-bit palletized image.
Array of palette indices to be used as the mapping source.
Array of palette indices to be used as the mapping destination.
The number of palette indices to be mapped. This is the size of both
srcindices and dstindices
If true, source and destination palette indices are swapped, that is,
each destination index is also mapped to the corresponding source index.
The total number of pixels changed.
or is a null reference.
has a different length than .
Swaps two specified palette indices on a 1-, 4- or 8-bit palletized image.
One of the two palette indices to be swapped.
The other of the two palette indices to be swapped.
The total number of pixels changed.
Sets all pixels of this to the specified color.
See for further details.
The type of the specified color.
The color to fill this with.
true on success, false on failure.
Sets all pixels of this to the specified color.
See for further details.
The type of the specified color.
The color to fill this with.
Options that affect the color search process for palletized images.
true on success, false on failure.
Creates a new ICC-Profile.
The data of the new ICC-Profile.
The new ICC-Profile of the bitmap.
is a null reference.
Creates a new ICC-Profile.
The data of the new ICC-Profile.
The number of bytes of to use.
The new ICC-Profile of the bitmap.
is null.
Determines whether this and the specified instances are the same.
The object to test.
true if this instance is the same
or if both are null references; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Returns a value that indicates whether the pixel format for this contains alpha information.
The to test.
true if pixfmt contains alpha information; otherwise, false.
Returns a value that indicates whether the pixel format is 32 bits per pixel.
The to test.
true if pixfmt is canonical; otherwise, false.
Returns a value that indicates whether the pixel format is 64 bits per pixel.
The enumeration to test.
true if pixfmt is extended; otherwise, false.
Creates a from a Windows handle to an icon.
A handle to an icon.
The that this method creates.
Creates a from the specified Windows resource.
A handle to an instance of the executable
file that contains the resource.
A string containing the name of the resource bitmap.
The that this method creates.
Creates a from the specified file.
A string that contains the name of the file
from which to create the .
The this method creates.
Creates a from the specified file
using embedded color management information in that file.
A string that contains the
name of the file from which to create the .
Ignored.
The this method creates.
Creates a from a handle to a GDI bitmap.
The GDI bitmap handle from which to create the .
The this method creates.
Creates a from a handle to a GDI bitmap and a handle to a GDI palette.
The GDI bitmap handle from which to create the .
Ignored.
The this method creates.
Frees a bitmap handle.
Handle to a bitmap.
true on success, false on failure.
Creates a from the specified data stream.
A that contains the data for this .
The this method creates.
Creates a from the specified data stream.
A that contains the data for this .
Ignored.
The this method creates.
Creates a from the specified data stream.
A that contains the data for this .
Ignored.
Ignored.
The this method creates.
Returns the color depth, in number of bits per pixel,
of the specified pixel format.
The member that specifies
the format for which to find the size.
The color depth of the specified pixel format.
Performs a lossless rotation or flipping on a JPEG file.
Source file.
Destination file; can be the source file; will be overwritten.
The operation to apply.
To avoid lossy transformation, you can set the perfect parameter to true.
Returns true on success, false on failure.
Performs a lossless crop on a JPEG file.
Source filename.
Destination filename.
Specifies the cropped rectangle.
Returns true on success, false on failure.
or is null.
does not exist.
Performs a lossless crop on a JPEG file.
Source filename.
Destination filename.
Specifies the left position of the cropped rectangle.
Specifies the top position of the cropped rectangle.
Specifies the right position of the cropped rectangle.
Specifies the bottom position of the cropped rectangle.
Returns true on success, false on failure.
or is null.
does not exist.
Converts a X11 color name into a corresponding RGB value.
Name of the color to convert.
Red component.
Green component.
Blue component.
Returns true on success, false on failure.
is null.
Converts a SVG color name into a corresponding RGB value.
Name of the color to convert.
Red component.
Green component.
Blue component.
Returns true on success, false on failure.
is null.
Creates a lookup table to be used with AdjustCurve() which
may adjusts brightness and contrast, correct gamma and invert the image with a
single call to AdjustCurve().
Output lookup table to be used with AdjustCurve().
The size of is assumed to be 256.
Percentage brightness value where -100 <= brightness <= 100.
A value of 0 means no change, less than 0 will make the image darker and greater
than 0 will make the image brighter.
Percentage contrast value where -100 <= contrast <= 100.
A value of 0 means no change, less than 0 will decrease the contrast
and greater than 0 will increase the contrast of the image.
Gamma value to be used for gamma correction.
A value of 1.0 leaves the image alone, less than one darkens it,
and greater than one lightens it.
If set to true, the image will be inverted.
The number of adjustments applied to the resulting lookup table
compared to a blind lookup table.
is null.
is not 256.
Adds a specified frame to the file specified using the specified parameters.
Use this method to save selected frames from an to a multiple-frame image.
File to add this frame to.
A that contains the frame to add.
Format of the image.
Flags to enable or disable plugin-features.
Flags to enable or disable plugin-features.
or is null.
does not exist.
Saving the image failed.
Adds a specified frame to the file specified using the specified parameters.
Use this method to save selected frames from an image to a multiple-frame image.
File to add this frame to.
A that contains the frame to add.
The position of the inserted frame.
Format of the image.
Flags to enable or disable plugin-features.
Flags to enable or disable plugin-features.
or is null.
does not exist.
Saving the image failed.
is out of range.
Returns a new instance of the class which
has no public accessible constructor.
A new instace of .
Throws an exception in case the instance has already been disposed.
Tries to replace the wrapped with a new one.
In case the new dib is null or the same as the already
wrapped one, nothing will be changed and the result will
be false.
Otherwise the wrapped will be unloaded and replaced.
The new dib.
Returns true on success, false on failure.
Unloads currently wrapped or unlocks the locked page
in case it came from a multipaged bitmap.
Informs the runtime about unmanaged allocoted memory.
Opens the stream and reads the number of available pages.
Then loads the first page to this instance.
Creates a deep copy of this .
A deep copy of this .
Performs application-defined tasks associated with freeing,
releasing, or resetting unmanaged resources.
Performs application-defined tasks associated with freeing,
releasing, or resetting unmanaged resources.
If true managed ressources are released.
Retrieves an object that can iterate through the individual scanlines in this .
An for the .
The bitmaps's type is not supported.
Type of the bitmap.
Number of palette entries.
The number of unique colors actually used by the bitmap. This might be different from
what ColorsUsed returns, which actually returns the palette size for palletised images.
Works for FIT_BITMAP type bitmaps only.
The size of one pixel in the bitmap in bits.
Width of the bitmap in pixel units.
Height of the bitmap in pixel units.
Returns the width of the bitmap in bytes, rounded to the next 32-bit boundary.
Size of the bitmap in memory.
Returns a structure that represents the palette of a FreeImage bitmap.
is false.
Gets whether the bitmap is RGB 555.
Gets whether the bitmap is RGB 565.
Gets the horizontal resolution, in pixels per inch, of this .
Gets the vertical resolution, in pixels per inch, of this .
Returns the structure of this .
Returns the structure of a this .
Investigates the color type of this
by reading the bitmaps pixel bits and analysing them.
Bit pattern describing the red color component of a pixel in this .
Bit pattern describing the green color component of a pixel in this .
Bit pattern describing the blue color component of a pixel in this .
Number of transparent colors in a palletised .
Get or sets transparency table of this .
Gets or sets whether this is transparent.
Gets whether this has a file background color.
Gets or sets the background color of this .
In case the value is null, the background color is removed.
Get: There is no background color available.
Set: Setting background color failed.
Pointer to the data-bits of this .
Width, in bytes, of this .
Pointer to the scanline of the top most pixel row of this .
Width, in bytes, of this .
In case this is top down Stride will be positive, else negative.
Gets attribute flags for the pixel data of this .
Gets the width and height of this .
Gets the pixel format for this .
Gets IDs of the property items stored in this .
Gets all the property items (pieces of metadata) stored in this .
Gets the format of this .
Gets the width and height, in pixels, of this .
Gets or sets an object that provides additional data about the .
Gets whether this has been disposed.
Gets a new instance of a metadata representing class.
Gets or sets the comment of this .
Supported formats are JPEG, PNG and GIF.
Returns whether this has a palette.
Gets or sets the entry used as transparent color in this .
Only works for 1-, 4- and 8-bpp.
Gets the number of frames in this .
Gets the ICCProfile structure of this .
Gets the format of the original image in case
this was loaded from a file or stream.
Gets the encapsulated FIBITMAP.
Helper class to store informations for .
Class handling non-bitmap related functions.
Internal callback
Gets a value indicating if the FreeImage DLL is available or not.
Internal errors in FreeImage generate a logstring that can be
captured by this event.
Gets a string containing the current version of the library.
Gets a string containing a standard copyright message.
Gets whether the platform is using Little Endian.
Class representing a FreeImage format.
Initializes a new instance of this class.
The FreeImage format to wrap.
Checks whether this plugin can save a bitmap in the desired data type.
The desired image type.
True if this plugin can save bitmaps as the desired type, else false.
Checks whether this plugin can save bitmaps in the desired bit depth.
The desired bit depth.
True if this plugin can save bitmaps in the desired bit depth, else false.
Checks whether an extension is valid for this format.
The desired extension.
True if the extension is valid for this format, false otherwise.
Checks whether an extension is valid for this format.
The desired extension.
The string comparison type.
True if the extension is valid for this format, false otherwise.
Checks whether a filename is valid for this format.
The desired filename.
True if the filename is valid for this format, false otherwise.
Checks whether a filename is valid for this format.
The desired filename.
The string comparison type.
True if the filename is valid for this format, false otherwise.
Gets a descriptive string that describes the bitmap formats
this plugin can read and/or write.
A descriptive string that describes the bitmap formats.
Gets the format of this instance.
Gets or sets whether this plugin is enabled.
Gets a string describing the format.
Gets a comma-delimited file extension list describing the bitmap formats
this plugin can read and/or write.
Gets a descriptive string that describes the bitmap formats
this plugin can read and/or write.
Returns a regular expression string that can be used by
a regular expression engine to identify the bitmap.
FreeImageQt makes use of this function.
Gets whether this plugin can load bitmaps.
Gets whether this plugin can save bitmaps.
Gets whether this plugin can load or save an ICC profile.
Internal class wrapping stream io functions.
FreeImage can read files from a disk or a network drive but also allows the user to
implement their own loading or saving functions to load them directly from an ftp or web
server for example.
In .NET streams are a common way to handle data. The FreeImageStreamIO class handles
the loading and saving from and to streams. It implements the funtions FreeImage needs
to load data from an an arbitrary source.
The class is for internal use only.
structure that can be used to read from streams via
.
Initializes a new instances which can be used to
create a FreeImage compatible structure.
Reads the requested data from the stream and writes it to the given address.
Reads the given data and writes it into the stream.
Moves the streams position.
Returns the streams current position
Provides additional information specific for GIF files. This class cannot be inherited.
Represents a collection of all tags contained in the metadata model
.
Base class that represents a collection of all tags contained in a metadata model.
The MetedataModel class is an abstract base class, which is inherited by
several derived classes, one for each existing metadata model.
Handle to the encapsulated FreeImage-bitmap.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
is null.
Adds new tag to the bitmap or updates its value in case it already exists.
will be used as key.
The tag to add or update.
Returns true on success, false on failure.
is null.
The tags model differs from this instances model.
Adds a list of tags to the bitmap or updates their values in case they already exist.
will be used as key.
A list of tags to add or update.
Returns the number of successfully added tags.
is null.
Removes the specified tag from the bitmap.
The key of the tag.
Returns true on success, false on failure.
is null.
Destroys the metadata model
which will remove all tags of this model from the bitmap.
Returns true on success, false on failure.
Returns the specified metadata tag.
The key of the tag.
The metadata tag.
is null.
Returns whether the specified tag exists.
The key of the tag.
True in case the tag exists, else false.
is null.
Returns the tag at the given index.
Index of the tag to return.
The tag at the given index.
Retrieves an object that can iterate through the individual MetadataTags in this MetadataModel.
An for the
.
Searches for a pattern in each metadata tag and returns the result as a list.
The regular expression to use for the search.
A bitfield that controls which fields should be searched in.
A list containing all found metadata tags.
is null.
is empty.
Returns the value of the specified tag.
Type of the tag's data.
The key of the tag.
The value of the specified tag.
Returns an array containing the data of the specified tag.
The type of the tag's data.
The key of the tag.
An array containing the data of the specified tag.
Returns the string contained by the specified tag.
The key of the tag.
The string contained by the specified tag.
Returns an array containg the data of the specified tag
as unsigned 32bit integer.
The key of the tag.
An array containg the data of the specified tag
as unsigned 32bit integer.
Returns the value of the tag as unsigned 32bit integer.
The key of the tag.
The value of the tag as unsigned 32bit integer.
Sets the value of the specified tag.
The type of the tag's data.
The key of the tag.
The new value of the specified tag or null.
Sets the value of the specified tag.
The key of the tag.
The new value of the specified tag or null.
Sets the value of the specified tag as undefined.
The key of the tag.
The new value of the specified tag or null.
Returns the equivalent for the
specified .
The string containing the .
The equivalent for the
specified .
Returns the equivalent for the
specified .
The to convert.
The equivalent for the
specified .
Returns the equivalent for the
specified .
The string containing the .
The equivalent for the
specified .
Returns the equivalent for the
specified .
The to convert.
The equivalent for the
specified .
Returns the equivalent for the
specified .
The string containing the .
The equivalent for the
specified .
Returns the equivalent for the
specified .
The to convert.
The equivalent for the
specified .
Returns the equivalent for the
specified .
The string containing the .
The equivalent for the
specified .
Returns the equivalent for the
specified .
The to convert.
The equivalent for the
specified .
Returns the equivalent for the
specified .
The string containing the .
The equivalent for the
specified .
Returns the equivalent for the
specified .
The to convert.
The equivalent for the
specified .
Converts the model of the MetadataModel object to its equivalent string representation.
The string representation of the value of this instance.
Retrieves the datamodel that this instance represents.
Returns a list of all metadata tags this instance represents.
Returns the metadata tag at the given index. This operation is slow when accessing all tags.
Index of the tag.
The metadata tag.
is greater or equal Count
or index is less than zero.
Returns the number of metadata tags this instance represents.
Returns whether this model exists in the bitmaps metadata structure.
Specified different unit types.
No or unknown type.
Kilometers per hour.
Miles per hour.
Knots.
Specifies different direction types.
No or unknown direction type.
True direction.
Magnatic direction.
Specifies the type of a latitude value.
No or unknown type.
North.
South.
Specifies the type of a longitude value.
No or unknown type.
East.
West.
Specifies different altitude types.
No or unknown type.
East.
West.
Specifies interoperability types.
No or unknown type.
Indicates a file conforming to R98 file specification of Recommended
Exif Interoperability Rules (ExifR98) or to DCF basic file stipulated
by Design Rule for Camera File System.
Indicates a file conforming to DCF thumbnail file stipulated by Design
rule for Camera File System.
Specifies orientation of images.
Undefinied orientation.
TopLeft.
TopRight.
BottomRight.
BottomLeft.
LeftTop.
RightTop.
RightBottom.
LeftBottom.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Gets or sets the width of the entire canvas area, that each page is displayed in.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the height of the entire canvas area, that each page is displayed in.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the global palette of the GIF image.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the number of replays for the animation.
Use 0 (zero) to specify an infinte number of replays.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the horizontal offset within the logical canvas area, this frame is to be displayed at.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the vertical offset within the logical canvas area, this frame is to be displayed at.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a flag to supress saving the dib's attached palette
(making it use the global palette). The local palette is the palette used by a page.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value indicating whether the image is interlaced.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the amout of time in milliseconds this frame is to be displayed.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets this frame's disposal method. Generally, this method defines, how to
remove or replace a frame when the next frame has to be drawn.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Initializes a new instance of the class
with the specified .
A reference to a instance.
Creates a global palette for the GIF image, intialized with all entries of the
current local palette.
The property will be set to true when
invoking this method. This effectively enables the newly created global palette.
The image does not have a palette.
Creates a global palette for the GIF image with the specified size, intialized
with the first entries of the current local palette.
The property will be set to true when
invoking this method. This effectively enables the newly created global palette.
The size of the newly created global palette.
is a null reference.
Creates a global palette for the GIF image, intialized with the entries
of the specified palette.
The property will be set to true when
invoking this method. This effectively enables the newly created global palette.
The palette that contains the initial values for
the newly created global palette.
is a null reference.
Creates a global palette for the GIF image with the specified size, intialized
with the first entries of the specified palette.
The property will be set to true when
invoking this method. This effectively enables the newly created global palette.
The palette that contains the initial values for
the newly created global palette.
The size of the newly created global palette.
is a null reference.
Gets or sets a value indicating whether this frame uses the
GIF image's global palette. If set to false, this
frame uses its local palette.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Class handling metadata of a FreeImage bitmap.
Initializes a new instance based on the specified ,
showing all known models.
Handle to a FreeImage bitmap.
Initializes a new instance based on the specified ,
showing or hiding empry models.
Handle to a FreeImage bitmap.
When true, empty metadata models
will be hidden until a tag to this model is added.
Adds new tag to the bitmap or updates its value in case it already exists.
will be used as key.
The tag to add or update.
Returns true on success, false on failure.
is null.
Retrieves an object that can iterate through the individual
MetadataModels
in this .
An for this .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Gets or sets the of the specified type.
In case the getter returns null the model is not contained
by the list.
null can be used calling the setter to destroy the model.
Type of the model.
The object of the specified type.
Gets or sets the at the specified index.
In case the getter returns null the model is not contained
by the list.
null can be used calling the setter to destroy the model.
Index of the within
this instance.
The
object at the specified index.
Returns a list of all visible
MetadataModels.
Returns the number of visible
MetadataModels.
Gets or sets whether empty
MetadataModels are hidden.
Class representing own FreeImage-Plugins.
FreeImages itself is plugin based. Each supported format is integrated by a seperat plugin,
that handles loading, saving, descriptions, identifing ect.
And of course the user can create own plugins and use them in FreeImage.
To do that the above mentioned predefined methodes need to be implemented.
The class below handles the creation of such a plugin. The class itself is abstract
as well as some core functions that need to be implemented.
The class can be used to enable or disable the plugin in FreeImage after regististration or
retrieve the formatid, assigned by FreeImage.
The class handles the callback functions, garbage collector and pointer operation to make
the implementation as user friendly as possible.
How to:
There are two functions that need to be implemented:
and
.
is used by the constructor
of the abstract class. FreeImage wants a list of the implemented functions. Each function is
represented by a function pointer (a .NET ). In case a function
is not implemented FreeImage receives an empty delegate). To tell the constructor
which functions have been implemented the information is represented by a disjunction of
.
For example:
return MethodFlags.LoadProc | MethodFlags.SaveProc;
The above statement means that LoadProc and SaveProc have been implemented by the user.
Keep in mind, that each function has a standard implementation that has static return
values that may cause errors if listed in
without a real implementation.
is used by some checks of FreeImage and
must be implemented. for example can be
implemented if the plugin supports reading, but it doesn't have to, the plugin could only
be used to save an already loaded bitmap in a special format.
Struct containing function pointers.
Delegate for register callback by FreeImage.
The format id assiged to the plugin.
When true the plugin was registered successfully else false.
A copy of the functions used to register.
Function that returns a bitfield containing the
implemented methods.
Bitfield of the implemented methods.
Implementation of FormatProc
A string containing the plugins format.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
Function that can be implemented.
The constructor automatically registeres the plugin in FreeImage.
To do this it prepares a FreeImage defined structure with function pointers
to the implemented functions or null if not implemented.
Before registing the functions they are pinned in memory so the garbage collector
can't move them around in memory after we passed there addresses to FreeImage.
Reads from an unmanaged stream.
Reads a single byte from an unmanaged stream.
Writes to an unmanaged stream.
Writes a single byte to an unmanaged stream.
Seeks in an unmanaged stream.
Retrieves the position of an unmanaged stream.
Gets or sets if the plugin is enabled.
Gets if the plugin was registered successfully.
Gets the FreeImage assigned to this plugin.
MethodFlags defines values to fill a bitfield telling which
functions have been implemented by a plugin.
No mothods implemented.
DescriptionProc has been implemented.
ExtensionListProc has been implemented.
RegExprProc has been implemented.
OpenProc has been implemented.
CloseProc has been implemented.
PageCountProc has been implemented.
PageCapabilityProc has been implemented.
LoadProc has been implemented.
SaveProc has been implemented.
ValidateProc has been implemented.
MimeProc has been implemented.
SupportsExportBPPProc has been implemented.
SupportsExportTypeProc has been implemented.
SupportsICCProfilesProc has been implemented.
Represents unmanaged memory, containing an array of a given structure.
Structuretype represented by the instance.
and can not be marshalled.
Use instead of and
instead of .
Baseaddress of the wrapped memory.
Number of elements being wrapped.
Size, in bytes, of each element.
Array of T containing a single element.
The array is used as a workaround, because there are no pointer for generic types.
Pointer to the element of buffer.
Handle for pinning buffer.
Indicates whether the wrapped memory is handled like a bitfield.
Indicates whther the wrapped memory is handles like 4-bit blocks.
An object that can be used to synchronize access to the .
Initializes a new instance.
Initializes a new instance of the class.
Address of the memory block.
Length of the array.
is null.
is less or equal zero.
The type is not supported.
Initializes a new instance of the class.
Address of the memory block.
Length of the array.
is null.
is less or equal zero.
The type is not supported.
Frees the allocated .
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Gets the value at the specified position.
A 32-bit integer that represents the position
of the array element to get.
The value at the specified position.
is outside the range of valid indexes
for the unmanaged array.
Sets a value to the element at the specified position.
The new value for the specified element.
A 32-bit integer that represents the
position of the array element to set.
is outside the range of valid indexes
for the unmanaged array.
Gets the values at the specified position and length.
A 32-bit integer that represents the position
of the array elements to get.
A 32-bit integer that represents the length
of the array elements to get.
The values at the specified position and length.
is outside the range of valid indexes
for the unmanaged array or is greater than the number of elements
from to the end of the unmanaged array.
Sets the values at the specified position.
An array containing the new values for the specified elements.
A 32-bit integer that represents the position
of the array elements to set.
is a null reference (Nothing in Visual Basic).
is outside the range of valid indexes
for the unmanaged array or is greater than the number of elements
from to the end of the array.
Copies the entire array to a compatible one-dimensional ,
starting at the specified index of the target array.
The one-dimensional that is the destination
of the elements copied from .
The must have zero-based indexing.
The zero-based index in
at which copying begins.
Copies a range of elements from the unmanaged array starting at the specified
and pastes them to
starting at the specified .
The length and the indexes are specified as 32-bit integers.
The array that receives the data.
A 32-bit integer that represents the index
in the unmanaged array at which copying begins.
A 32-bit integer that represents the index in
the destination array at which storing begins.
A 32-bit integer that represents the number of elements to copy.
is a null reference (Nothing in Visual Basic).
is outside the range of valid indexes
for the unmanaged array or is greater than the number of elements
from to the end of the unmanaged array
-or-
is outside the range of valid indexes
for the array or is greater than the number of elements
from to the end of the array.
Copies a range of elements from the array starting at the specified
and pastes them to the unmanaged array
starting at the specified .
The length and the indexes are specified as 32-bit integers.
The array that holds the data.
A 32-bit integer that represents the index
in the array at which copying begins.
A 32-bit integer that represents the index in
the unmanaged array at which storing begins.
A 32-bit integer that represents the number of elements to copy.
is a null reference (Nothing in Visual Basic).
is outside the range of valid indexes
for the array or is greater than the number of elements
from to the end of the array
-or-
is outside the range of valid indexes
for the unmanaged array or is greater than the number of elements
from to the end of the unmanaged array.
Returns the represented block of memory as an array of .
The represented block of memory.
Creates a shallow copy of the .
A shallow copy of the .
Retrieves an object that can iterate through the individual
elements in this .
An for the .
Retrieves an object that can iterate through the individual
elements in this .
An for the .
Releases all ressources.
Releases allocated handles associated with this instance.
true to release managed resources.
Throws an if
this instance is disposed.
Tests whether the specified structure is equivalent to this
structure.
The structure to test.
true if is a
instance equivalent to this structure; otherwise,
false.
Tests whether the specified structure is equivalent to this
structure.
The structure to test.
true if is equivalent to this
structure; otherwise,
false.
Serves as a hash function for a particular type.
A hash code for the current .
Copies a block of memory from one location to another.
Pointer to the starting address of the copy destination.
Pointer to the starting address of the block of memory to be copied.
Size of the block of memory to copy, in bytes.
Gets or sets the value at the specified position in the array.
A 32-bit integer that represents the position
of the array element to get.
The value at the specified position in the array.
is outside the range of valid indexes
for the unmanaged array.
Gets or sets the values of the unmanaged array.
Gets the length of the unmanaged array.
Gets the base address of the represented memory block.
Gets a 32-bit integer that represents the total number of elements
in the .
Gets a value indicating whether access to the
is synchronized (thread safe).
Gets an object that can be used to synchronize access to the .
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Gets or sets the comment of the image.
Supported formats are JPEG, PNG and GIF.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Gets or sets the version of this standard supported.
Constant length or 4.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the Flashpix format version supported by a FPXR file.
Constant length or 4.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the color space information tag.
See remarks for further information.
The following values are defined:
ID
Description
-
1
sRGB (default)
-
0xFFFF
uncalibrated
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the valid width of a compressed image.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the valid height of a compressed image.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets components configuration. See remarks for further information.
Constant length of 4.
The channels of each component are arranged in order from the 1st component to the 4th.
For uncompressed data the data arrangement is given in the PhotometricInterpretation tag.
However, since PhotometricInterpretation can only express the order of Y,Cb and Cr,
this tag is provided for cases when compressed data uses components other than Y, Cb,
and Cr and to enable support of other sequences.
Default = 4 5 6 0 (if RGB uncompressed)
The following values are defined:
ID
Description
-
0
does not exist
-
1
Y
-
2
Cb
-
3
Cr
-
4
R
-
5
R
-
6
R
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets compression mode used for a compressed image is indicated
in unit bits per pixel.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a tag for manufacturers of Exif writers to record any desired information.
The contents are up to the manufacturer, but this tag should not be used for any other
than its intended purpose.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a tag for Exif users to write keywords or comments on the image besides
those in ImageDescription, and without the character code limitations of the ImageDescription tag.
Minimum length of 8. See remarks for further information.
The character code used in the UserComment tag is identified based on an ID code in a fixed 8-byte
area at the start of the tag data area. The unused portion of the area is padded with NULL.
The ID code for the UserComment area may be a Defined code such as JIS or ASCII, or may be Undefined.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the name of an audio file related to the image data.
The format is 8.3.
Constant length of 12
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the date and time when the original image data was generated.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the date and time when the image was stored as digital data.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a tag used to record fractions of seconds for the DateTime tag.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a tag used to record fractions of seconds for the DateTimeOriginal tag.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a tag used to record fractions of seconds for the DateTimeDigitized tag.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or the exposure time, given in seconds (sec).
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or the F number.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the class of the program used by the camera to set exposure when the
picture is taken.
See remarks for further information.
The following values are defined:
ID
Description
-
0
not defined
-
1
manual
-
2
normal program
-
3
aperture priority
-
4
shutter priority
-
5
create program
-
6
action program
-
7
portrait mode
-
8
landscape mode
-
others
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the spectral sensitivity of each channel of the camera used.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the the ISO Speed and ISO Latitude of the camera or input device as
specified in ISO 12232.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the Opto-Electric Conversion Function (OECF) specified in ISO 14524.
OECF is the relationship between the camera optical input and the image values.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the shutter speed. The unit is the APEX (Additive System of Photographic Exposure).
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the lens aperture. The unit is the APEX value.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of brightness. The unit is the APEX value.
Ordinarily it is given in the range of -99.99 to 99.99.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the exposure bias. The unit is the APEX value.
Ordinarily it is given in the range of –99.99 to 99.99.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the smallest F number of the lens. The unit is the APEX value.
Ordinarily it is given in the range of 00.00 to 99.99,
but it is not limited to this range.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets distance to the subject, given in meters.
Note that if the numerator of the recorded value is FFFFFFFF, infinity shall be indicated;
and if the numerator is 0, distance unknown shall be indicated.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the metering mode. See remarks for further information.
The following values are defined:
ID
Description
-
0
unknown
-
1
average
-
2
center-weighted-average
-
3
spot
-
4
multi-spot
-
5
pattern
-
6
partial
-
other
reserved
-
255
other
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the kind of light source.
See remarks for further information.
The following values are defined:
ID
Description
-
0
unknown
-
1
daylight
-
2
fluorescent
-
3
tungsten
-
4
flash
-
9
fine weather
-
10
cloudy weather
-
11
shade
-
12
daylight fluorecent (D 5700 - 7100K)
-
13
day white fluorescent (N 4600 - 5400K)
-
14
cool white fluorescent (W 3900 - 4500K)
-
15
white fluorescent (WW 3200 - 3700K)
-
17
standard light A
-
18
standard light B
-
19
standard light C
-
20
D55
-
21
D65
-
22
D75
-
23
D50
-
24
ISO studio tungsten
-
255
other light source
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value indicating the status of flash when the image was shot.
Bit 0 indicates the flash firing status, bits 1 and 2 indicate the flash return
status, bits 3 and 4 indicate the flash mode, bit 5 indicates whether the flash
function is present, and bit 6 indicates "red eye" mode.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value indicating the location and area of the main subject in
the overall scene. Variable length between 2 and 4.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the actual focal length of the lens, in mm.
Conversion is not made to the focal length of a 35 mm film camera.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the strobe energy at the time the image is captured,
as measured in Beam Candle Power Seconds (BCPS).
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the camera or input device spatial frequency table and SFR values
in the direction of image width, image height, and diagonal direction,
as specified in ISO 12233.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the number of pixels in the image width (X) direction per
FocalPlaneResolutionUnit on the camera focal plane.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the number of pixels in the image height (Y) direction per
FocalPlaneResolutionUnit on the camera focal plane.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
This value is the same as the ResolutionUnit.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the location of the main subject in the scene.
The value of this tag represents the pixel at the center of the main subject
relative to the left edge, prior to rotation processing as per the Rotation tag.
The first value indicates the X column number and second indicates the Y row number.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the exposure index selected on the camera or input device at the
time the image was captured.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the image sensor type on the camera or input device.
See remarks for further information.
The following values are defined:
ID
Description
-
1
not defined
-
2
one-chip color area sensor
-
3
two-chip color area sensor
-
4
three-chip color area sensor
-
5
color sequential area sensor
-
7
trilinear sensor
-
8
color sequential linear sensor
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the image source. If a DSC recorded the image, this tag value of this
tag always be set to 3, indicating that the image was recorded on a DSC.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the type of scene. If a DSC recorded the image, this tag value shall
always be set to 1, indicating that the image was directly photographed.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the color filter array (CFA) geometric pattern of the image sensor
when a one-chip color area sensor is used. It does not apply to all sensing methods.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the use of special processing on image data, such as rendering geared to output.
When special processing is performed, the reader is expected to disable or minimize any
further processing. See remarks for further information.
The following values are definied:
ID
Description
-
0
normal process
-
1
custom process
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the exposure mode set when the image was shot.
In auto-bracketing mode, the camera shoots a series of frames of the same scene
at different exposure settings. See remarks for further information.
The following values are definied:
ID
Description
-
0
auto exposure
-
1
manual exposure
-
2
auto bracket
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the white balance mode set when the image was shot.
See remarks for further information.
The following values are definied:
ID
Description
-
0
auto white balance
-
1
manual white balance
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the digital zoom ratio when the image was shot.
If the numerator of the recorded value is 0, this indicates that digital zoom was not used.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the equivalent focal length assuming a 35mm film camera, in mm.
A value of 0 means the focal length is unknown. Note that this tag differs
from the FocalLength tag.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the type of scene that was shot.
It can also be used to record the mode in which the image was shot.
See remarks for further information.
The following values are definied:
ID
Description
-
0
standard
-
1
landscape
-
2
portrait
-
3
night scene
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the degree of overall image gain adjustment.
See remarks for further information.
The following values are definied:
ID
Description
-
0
none
-
1
low gain up
-
2
high gain up
-
3
low gain down
-
4
high gain down
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the direction of contrast processing applied by the camera
when the image was shot.
See remarks for further information.
The following values are definied:
ID
Description
-
0
normal
-
1
soft
-
2
hard
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the direction of saturation processing applied by the camera
when the image was shot.
See remarks for further information.
The following values are definied:
ID
Description
-
0
normal
-
1
low saturation
-
2
high saturation
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the direction of sharpness processing applied by the camera
when the image was shot.
See remarks for further information.
The following values are definied:
ID
Description
-
0
normal
-
1
soft
-
2
hard
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets information on the picture-taking conditions of a particular camera model.
The tag is used only to indicate the picture-taking conditions in the reader.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the distance to the subject.
See remarks for further information.
The following values are definied:
ID
Description
-
0
unknown
-
1
macro
-
2
close view
-
3
distant view
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets an identifier assigned uniquely to each image.
It is recorded as an ASCII string equivalent to hexadecimal notation and 128-bit fixed length.
Constant length of 32.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Gets or sets the GPS version ID. Constant length of 4.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value indicating whether the
is north or south latitude.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the latitude of the image. The latitude is expressed as three rational
values giving the degrees, minutes, and seconds, respectively. Constant length of 3.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value indicating whether
is east or west longitude.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the longitude of the image. The longitude is expressed as three rational
values giving the degrees, minutes, and seconds, respectively. Constant length of 3.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets a value indicating whether is sea level and the altitude
is above sea level. If the altitude is below sea level is
indicated as an absolute value.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the altitude based on the reference in .
Altitude is expressed as one rational value. The reference unit is meters.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the sign of the .
This is a derived property. There is no metadata tag directly associated
with this property value.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the signed altitude.
Altitude is expressed as one rational value. The reference unit is meters.
Altitude is too large to fit into a FIRational.
This is a derived property. There is no metadata tag directly associated
with this property value.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the time as UTC (Coordinated Universal Time). Constant length of 3.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the GPS satellites used for measurements. This tag can be used to describe
the number of satellites, their ID number, angle of elevation, azimuth, SNR and other
information in ASCII notation. The format is not specified.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value indicating the status of the GPS receiver when the image was recorded.
true indicates measurement was in progress;
false indicates measurement was Interoperability.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value indicating the GPS measurement mode.
true indicates three-dimensional measurement;
false indicated two-dimensional measurement was in progress.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the GPS DOP (data degree of precision). An HDOP value is written during
two-dimensional measurement, and PDOP during three-dimensional measurement.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the unit used to express the GPS receiver of movement.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the speed of GPS receiver movement.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the reference for giving the direction of GPS receiver movement.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the direction of GPS receiver movement.
The range of values is from 0.00 to 359.99.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the reference for giving the direction of GPS receiver movement.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the direction of the image when it was captured.
The range of values is from 0.00 to 359.99.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the geodetic survey data used by the GPS receiver. If the survey data
is restricted to Japan, the value of this tag is 'TOKYO' or 'WGS-84'.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value indicating whether the destination point
is north or south latitude.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the latitude of the destination point. The latitude is expressed as three rational
values giving the degrees, minutes, and seconds, respectively. Constant length of 3.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value indicating whether the destination point
is east or west longitude.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the longitude of the destination point. The longitude is expressed as three rational
values giving the degrees, minutes, and seconds, respectively. Constant length of 3.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the reference used for giving the bearing to the destination point.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the bearing to the destination point.
The range of values is from 0.00 to 359.99.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the unit used to express the distance to the destination point.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a character string recording the name of the method used
for location finding. The first byte indicates the character code used,
and this is followed by the name of the method. Since the Type is not ASCII,
NULL termination is not necessary.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a character string recording the name of the GPS area.
The first byte indicates the character code used, and this is followed by
the name of the GPS area. Since the Type is not ASCII, NULL termination is
not necessary.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets date and time information relative to UTC (Coordinated Universal Time).
This is a derived property. There is no metadata tag directly associated
with this property value.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets date information relative to UTC (Coordinated Universal Time).
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value indicating whether differential correction was applied to
the GPS receiver.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Gets or sets the identification of the Interoperability rule.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Represents a collection of all tags contained in the metadata model
.
This class is obsolete. Use class instead.
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Gets or sets the number of columns of image data, equal to the number
of pixels per row. In JPEG compressed data a JPEG marker is used
instead of this tag.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets number of rows of image data. In JPEG compressed data a JPEG marker
is used instead of this tag.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets number of bits per image component. In this standard
each component of the image is 8 bits, so the value for this tag is 8.
Constant length of 3.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets compression scheme used for the image data. When a primary image
is JPEG compressed, this designation is not necessary and is omitted.
When thumbnails use JPEG compression, this tag value is set to 6.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets pixel composition. In JPEG compressed data a JPEG marker is
used instead of this tag. See remarks for further information.
The following values are definied:
ID
Description
-
2
RGB
-
6
YCbCr
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the image orientation viewed in terms of rows and columns.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the number of components per pixel. Since this standard applies
to RGB and YCbCr images, the value set for this tag is 3. In JPEG compressed
data a JPEG marker is used instead of this tag.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a value that indicates whether pixel components are recorded in
chunky or planar format. In JPEG compressed files a JPEG marker is used instead
of this tag. If this field does not exist, the TIFF default of 1 (chunky) is assumed.
See remarks for further information.
The following values are definied:
ID
Description
-
1
chunky format
-
2
planar format
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the sampling ratio of chrominance components in relation to
the luminance component. In JPEG compressed dat a JPEG marker is used
instead of this tag.
See remarks for further information.
The following values are definied:
ID
Description
-
[2,1]
YCbCr4:2:2
-
[2,2]
YCbCr4:2:0
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets position of chrominance components in relation to the luminance component.
See remarks for further information.
This field is designated only for JPEG compressed data or uncompressed YCbCr data.
The TIFF default is 1 (centered); but when Y:Cb:Cr = 4:2:2 it is recommended in
this standard that 2 (co-sited) be used to record data, in order to improve the
image quality when viewed on TV systems.
When this field does not exist, the reader shall assume the TIFF default.
In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is recommended.
If the reader does not have the capability of supporting both kinds of YCbCrPositioning,
it shall follow the TIFF default regardless of the value in this field.
It is preferable that readers be able to support both centered and co-sited positioning.
The following values are definied:
ID
Description
-
1
centered
-
2
co-sited
-
other
reserved
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the number of pixels per
in the direction. When the image resolution is unknown,
72 [dpi] is designated.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the number of pixels per
in the direction. When the image resolution is unknown,
72 [dpi] is designated.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the unit for measuring and .
The same unit is used for both and .
If the image resolution in unknown, 2 (inches) is designated.
See remarks for further information.
The following values are definied:
ID
Description
-
2
inches
-
3
YCbCr4:2:0
-
other
centimeters
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the byte offset of that strip.
It is recommended that this be selected so the number of strip bytes
does not exceed 64 Kbytes.
With JPEG compressed data this designation is not needed and is omitted.
Constant length of * StripsPerImage.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets number of rows per strip. This is the number of rows in the image of
one strip when an image is divided into strips. With JPEG compressed data this
designation is not needed and is omitted.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the total number of bytes in each strip.
With JPEG compressed data this designation is not needed and is omitted.
Constant length of * StripsPerImage.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the offset to the start byte (SOI) of JPEG compressed thumbnail data.
This is not used for primary image JPEG data.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the number of bytes of JPEG compressed thumbnail data.
This is not used for primary image JPEG data.
JPEG thumbnails are not divided but are recorded as a continuous
JPEG bitstream from SOI to EOI. APPn and COM markers should not be recorded.
Compressed thumbnails shall be recorded in no more than 64 Kbytes,
including all other data to be recorded in APP1.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a transfer function for the image, described in tabular style.
Constant length of 3 * 256.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the chromaticity of the white point of the image.
Constant length of 2.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the chromaticity of the three primary colors of the image.
Constant length of 6.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the matrix coefficients for transformation from RGB to YCbCr image data.
Constant length of 3.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the reference black point value and reference white point value.
Constant length of 6.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the date and time of image creation.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets a string giving the title of the image.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the manufacturer of the recording equipment.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the model name or model number of the equipment.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the name and version of the software or firmware of the camera
or image input device used to generate the image.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the name of the camera owner, photographer or image creator.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the photographer and editor copyrights.
Constant length of 1-2.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Gets or sets the value of the GeoTIFF GeoASCIIParamsTag.
The GeoASCIIParamsTag is used to store all of the valued
GeoKeys, referenced by the property. Since keys
defined in the GeoKeyDirectoryTag use offsets into this tag, any special
comments may be placed at the beginning of this tag.
For the most part, the only keys that are valued are
Citation keys, giving documentation and references for obscure
projections, datums, etc.
Special handling is required for -valued keys. While it
is true that TIFF 6.0 permits multiple NULL-delimited strings within a single
ASCII tag, the secondary strings might not appear in the output of naive
tiffdump programs. For this reason, the NULL delimiter of each ASCII key
value shall be converted to a "|" (pipe) character before being installed
back into the holding tag, so that a dump of the tag
will look like this.
AsciiTag="first_value|second_value|etc...last_value|"
A baseline GeoTIFF-reader must check for and convert the final "|" pipe
character of a key back into a NULL before returning it to the client
software.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the GeoTIFF GeoDoubleParamsTag.
The GeoDoubleParamsTag is used to store all of the valued
GeoKeys, referenced by the property. The meaning of
any value of this double array is determined from the GeoKeyDirectoryTag reference
pointing to it. values should first be converted to
and stored here.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the GeoTIFF GeoKeyDirectoryTag.
The GeoKeyDirectoryTag may be used to store the GeoKey Directory, which defines and
references the GeoKeys.
The tag is an array of unsigned values, which are primarily
grouped into blocks of 4. The first 4 values are special, and contain GeoKey directory
header information. The header values consist of the following information, in order:
Header={KeyDirectoryVersion, KeyRevision, MinorRevision, NumberOfKeys}
where
KeyDirectoryVersion indicates the current version of Key implementation, and will
only change if this Tag's Key structure is changed. (Similar to the TIFFVersion (42)).
The current DirectoryVersion number is 1. This value will most likely never change,
and may be used to ensure that this is a valid Key-implementation.
KeyRevision indicates what revision of Key-Sets are used.
MinorRevision indicates what set of Key-Codes are used. The complete revision number
is denoted <KeyRevision>.<MinorRevision>.
NumberOfKeys indicates how many Keys are defined by the rest of this Tag.
This header is immediately followed by a collection of <NumberOfKeys> KeyEntry
sets, each of which is also 4- long. Each KeyEntry is modeled on the
TIFFEntry format of the TIFF directory header, and is of the form:
KeyEntry = { KeyID, TIFFTagLocation, Count, Value_Offset }
where
KeyID gives the Key-ID value of the Key (identical in function to TIFF tag ID,
but completely independent of TIFF tag-space),
TIFFTagLocation indicates which TIFF tag contains the value(s) of the Key: if
TIFFTagLocation is 0, then the value is , and is contained in the
Value_Offset entry. Otherwise, the type (format) of the value is implied by the
TIFF-Type of the tag containing the value.
Count indicates the number of values in this key.
Value_Offset Value_Offset indicates the index-offset into the TagArray indicated
by TIFFTagLocation, if it is nonzero. If TIFFTagLocation is 0 (zero) , then Value_Offset
contains the actual () value of the Key, and Count=1 is implied.
Note that the offset is not a byte-offset, but rather an index based on the natural data
type of the specified tag array.
Following the KeyEntry definitions, the KeyDirectory tag may also contain additional
values. For example, if a key requires multiple values, they shall
be placed at the end of this tag, and the KeyEntry will set
TIFFTagLocation=GeoKeyDirectoryTag, with the Value_Offset pointing to the location of the
value(s).
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the GeoTIFF ModelPixelScaleTag.
The ModelPixelScaleTag tag may be used to specify the size of raster pixel spacing
in the model space units, when the raster space can be embedded in the model space
coordinate system without rotation, and consists of the following 3 values:
ModelPixelScaleTag = (ScaleX, ScaleY, ScaleZ)
where ScaleX and ScaleY give the horizontal and vertical spacing of
raster pixels. The ScaleZ is primarily used to map the pixel value of a
digital elevation model into the correct Z-scale, and so for most other purposes
this value should be zero (since most model spaces are 2-D, with Z=0).
A single tiepoint in the tag, together with this tag,
completely determine the relationship between raster and model space; thus they
comprise the two tags which Baseline GeoTIFF files most often will use to place a
raster image into a "standard position" in model space.
Like the tag, this tag information is independent of the
XPosition, YPosition, Resolution and Orientation tags of the standard TIFF 6.0 spec.
However, simple reversals of orientation between raster and model space
(e.g. horizontal or vertical flips) may be indicated by reversal of sign in the
corresponding component of the ModelPixelScaleTag. GeoTIFF compliant readers must
honor this signreversal convention.
This tag must not be used if the raster image requires rotation or shearing to place
it into the standard model space. In such cases the transformation shall be defined
with the more general .
Naming differences
In the native FreeImage library and thus, in the FreeImage API documentation, this
property's key is named GeoPixelScale. Since the GeoTIFF specification
as well as Java's EXIFTIFFTagSet class call this tag
, this property was renamed accordingly.
However, when accessing this property's tag by its object,
the native FreeImage tag key GeoPixelScale must be used.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the GeoTIFF GeoTiePointsTag.
The GeoTiePointsTag stores raster -> model tiepoint pairs in the order
ModelTiePoints = (...,I,J,K, X,Y,Z...),
where (I,J,K) is the point at location (I,J) in raster space with
pixel-value K, and (X,Y,Z) is a vector in model space. In most cases
the model space is only two-dimensional, in which case both K and Z should be set
to zero; this third dimension is provided in anticipation of future support for 3D
digital elevation models and vertical coordinate systems.
A raster image may be georeferenced simply by specifying its location, size and
orientation in the model coordinate space M. This may be done by specifying the
location of three of the four bounding corner points. However, tiepoints are only
to be considered exact at the points specified; thus defining such a set of
bounding tiepoints does not imply that the model space locations of the interior
of the image may be exactly computed by a linear interpolation of these tiepoints.
However, since the relationship between the Raster space and the model space will
often be an exact, affine transformation, this relationship can be defined using
one set of tiepoints and the , described below, which
gives the vertical and horizontal raster grid cell size, specified in model units.
If possible, the first tiepoint placed in this tag shall be the one establishing
the location of the point (0,0) in raster space. However, if this is not possible
(for example, if (0,0) is goes to a part of model space in which the projection is
ill-defined), then there is no particular order in which the tiepoints need be
listed.
For orthorectification or mosaicking applications a large number of tiepoints may
be specified on a mesh over the raster image. However, the definition of associated
grid interpolation methods is not in the scope of the current GeoTIFF spec.
Naming differences
In the native FreeImage library and thus, in the FreeImage API documentation, this
property's key is named GeoTiePoints. Since the GeoTIFF specification
as well as Java's EXIFTIFFTagSet class call this tag
, this property was renamed accordingly.
However, when accessing this property's tag by its object,
the native FreeImage tag key GeoTiePoints must be used.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the GeoTIFF ModelTransformationMatrixTag.
This tag may be used to specify the transformation matrix between the raster space
(and its dependent pixel-value space) and the (possibly 3D) model space.
Naming differences
In the native FreeImage library and thus, in the FreeImage API documentation, this
property's key is named GeoTransformationMatrix. Since the GeoTIFF specification
as well as Java's EXIFTIFFTagSet class call this tag
, this property was renamed accordingly.
However, when accessing this property's tag by its object,
the native FreeImage tag key GeoTransformationMatrix must be used.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the GeoTIFF IntergraphTransformationMatrixTag.
The IntergraphTransformationMatrixTag conflicts with an internal software implementation
at Intergraph, and so its use is no longer encouraged. A GeoTIFF reader should look first
for the new tag, and only if it is not found should it check for this older tag. If found,
it should only consider it to be contain valid GeoTIFF matrix information if the tag-count
is 16; the Intergraph version uses 17 values.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the GeoTIFF JPLCartoIFDOffsetTag.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets the Application Record Version.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Object Type Reference.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Object Attribute Reference.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Object Name.
This is also referred to as Title.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Edit Status.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Editorial Update.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Urgency.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Subject Reference.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Category.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Supplemental Categories.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Fixture Identifier.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Keywords.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Content Location Code.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Content Location Name.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Release Date.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Release Time.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Expiration Date.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Expiration Time.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Special Instructions.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Action Advised.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Reference Service.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Reference Date.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Reference Number.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Date Created.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Time Created.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Digital Creation Date.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Digital Creation Time.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Originating Program.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Program Version.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Object Cycle.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag By Line.
This is the author's name.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag By Line Title.
This is the author's position.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag City.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Sub Location.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Province State.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Country Primary Location Code.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Country Primary Location Name.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Original Transmission Reference.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Headline.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Credit.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Source.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Copyright Notice.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Contact.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Caption Abstract.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Writer Editor.
This is also referred to as Caption Writer.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Rasterized Caption.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Image Type.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Image Orientation.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Language Identifier.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Audio Type.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Audio Sampling Rate.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Audio Sampling Resolution.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Audio Duration.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Audio Outcue.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Job I D.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Master Document I D.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Short Document I D.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Unique Document I D.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Owner I D.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Object Preview File Format.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Object Preview File Version.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Object Preview Data.
This is also referred to as Audio Outcue.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Prefs.
This is also referred to as photo-mechanic preferences.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Classify State.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Similarity Index.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Document Notes.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Document History.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets or sets the value of the IPTC/NAA tag Exif Camera Info.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Represents a collection of all tags contained in the metadata model
.
Initializes a new instance of this class.
Handle to a FreeImage bitmap.
Retrieves the datamodel that this instance represents.
Gets or sets the XMP XML content.
Handling of null values
A null value indicates, that the corresponding metadata tag is not
present in the metadata model.
Setting this property's value to a non-null reference creates the
metadata tag if necessary.
Setting this property's value to a null reference deletes the
metadata tag from the metadata model.
Gets an initialized to read the XMP XML content.
Returns null, if the metadata tag XMLPacket is not present in
this model.
Manages metadata objects and operations.
The encapsulated FreeImage-tag.
The metadata model of .
Indicates whether this instance has already been disposed.
Indicates whether this instance was created by FreeImage or
by the user.
List linking metadata-model and Type.
List linking Type and metadata-model.
Initializes a new instance of this class.
Initializes a new instance of this class.
The new model the tag should be of.
Initializes a new instance of this class.
The to represent.
The bitmap was extracted from.
Initializes a new instance of this class.
The to represent.
The model of .
Releases all resources used by the instance.
Determines whether two specified objects have the same value.
A or a null reference (Nothing in Visual Basic).
A or a null reference (Nothing in Visual Basic).
true if the value of left is the same as the value of right; otherwise, false.
Determines whether two specified objects have different values.
A or a null reference (Nothing in Visual Basic).
A or a null reference (Nothing in Visual Basic).
true if the value of left is different from the value of right; otherwise, false.
Extracts the value of a instance to a handle.
A instance.
A new instance of initialized to .
Sets the value of the metadata.
In case value is of byte or byte[] is assumed.
In case value is of uint or uint[] is assumed.
New data of the metadata.
True on success, false on failure.
The data format is not supported.
is null.
Sets the value of the metadata.
New data of the metadata.
Type of the data.
True on success, false on failure.
The data type is not supported.
is null.
and to not fit.
Sets the value of this tag to the value of
using the given type.
New value of the tag.
Data-type of the tag.
is a null reference.
is FIDT_ASCII and
is not String.
is not FIDT_ASCII and
is not Array.
is FIDT_NOTYPE.
Add this metadata to an image.
Handle to a FreeImage bitmap.
True on success, false on failure.
Gets a .NET PropertyItem for this metadata tag.
The .NET PropertyItem.
Converts the value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Creates a deep copy of this .
A deep copy of this .
Tests whether the specified object is a instance
and is equivalent to this instance.
The object to test.
true if is a instance
equivalent to this instance; otherwise, false.
Tests whether the specified instance is equivalent to this instance.
A instance to compare to this instance.
true if equivalent to this instance;
otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares the current instance with another object of the same type.
An object to compare with this instance.
A 32-bit signed integer that indicates the relative order of the objects being compared.
Releases all resources used by the instance.
Throwns an in case
this instance has already been disposed.
Gets the model of the metadata.
Gets or sets the key of the metadata.
Gets or sets the description of the metadata.
Gets or sets the ID of the metadata.
Gets the type of the metadata.
Gets the number of elements the metadata object contains.
Gets the length of the value in bytes.
Gets or sets the value of the metadata.
Gets whether this instance has already been disposed.
Provides methods for working with the standard bitmap palette.
Initializes a new instance for the given FreeImage bitmap.
Handle to a FreeImage bitmap.
is null.
is not
-or-
has more than 8bpp.
Initializes a new instance for the given FITAG that contains
a palette.
The tag containing the palette.
is null.
is not
.
Initializes a new instance for the given MetadataTag that contains
a palette.
The tag containing the palette.
is null.
is not
.
Initializes a new instance for the given array of that contains
a palette.
A RGBQUAD array containing the palette data to initialize this instance.
Initializes a new instance for the given array of that contains
a palette.
A Color array containing the palette data to initialize this instance.
Initializes a new instance with the specified size.
The size of the palette.
Returns the palette as an array of .
The palette as an array of .
Creates a linear palette based on the provided .
The used to colorize the palette.
Only call this method on linear palettes.
Creates a linear palette based on the provided .
The used to colorize the palette.
The position of the color within the new palette.
0 < < 1.
Only call this method on linear palettes.
Creates a linear palette based on the provided .
The used to colorize the palette.
The position of the color within the new palette.
0 < < .
Only call this method on linear palettes.
Creates a linear grayscale palette.
Creates a linear grayscale palette.
true to create an inverse grayscale palette.
Creates a linear palette with the specified .
A linear grayscale palette contains all shades of colors from
black to white. This method creates a similar palette with the white
color being replaced by the specified color.
The used to create the palette.
true to create an inverse palette.
Reverses the palette.
Copies the values from the specified to this instance.
The palette to copy from.
is a null reference.
Copies the values from the specified to this instance,
starting at the specified .
The palette to copy from.
The position in this instance where the values
will be copied to.
is a null reference.
is outside the range of valid indexes.
Saves this to the specified file.
A string that contains the name of the file to which to save this .
Saves this to the specified stream.
The where the image will be saved.
Saves this using the specified writer.
The used to save the image.
Loads a palette from the specified file.
The name of the palette file.
Loads a palette from the specified stream.
The stream to load the palette from.
Loads a palette from the reader.
The reader to load the palette from.
Releases allocated handles associated with this instance.
true to release managed resources.
Gets or sets the palette through an array of .
Get an array of that the block of memory represents.
This property is used for internal palette operations.
Class representing all registered in FreeImage.
Adds local plugin to this class.
The registered plugin.
Returns an instance of , representing the given format.
The representing format.
An instance of .
Returns an instance of ,
representing the format at the given index.
The index of the representing format.
An instance of .
Returns an instance of .
is searched in:
Format, RegExpr,
ValidExtension and ValidFilename.
The expression to search for.
An instance of .
Returns an instance of for the given format.
The format of the Plugin.
An instance of .
Returns an instance of for the given filename.
The valid filename for the plugin.
An instance of .
Returns an instance of for the given mime.
The valid mime for the plugin.
An instance of .
Gets the number of registered plugins.
Gets a readonly collection of all plugins.
Gets a list of plugins that are only able to
read but not to write.
Gets a list of plugins that are only able to
write but not to read.
Gets a list of plugins that are not able to
read or write.
Gets a list of plugins that are able to read.
Gets a list of plugins that are able to write.
Gets a list of local plugins.
Gets a list of built-in plugins.
Windows or OS/2 Bitmap File (*.BMP)
Independent JPEG Group (*.JPG, *.JIF, *.JPEG, *.JPE)
Independent JPEG Group (*.JPG, *.JIF, *.JPEG, *.JPE)
JPEG Network Graphics (*.JNG)
Commodore 64 Koala format (*.KOA)
Amiga IFF (*.IFF, *.LBM)
Amiga IFF (*.IFF, *.LBM)
Multiple Network Graphics (*.MNG)
Portable Bitmap (ASCII) (*.PBM)
Portable Bitmap (BINARY) (*.PBM)
Kodak PhotoCD (*.PCD)
Zsoft Paintbrush PCX bitmap format (*.PCX)
Portable Graymap (ASCII) (*.PGM)
Portable Graymap (BINARY) (*.PGM)
Portable Network Graphics (*.PNG)
Portable Pixelmap (ASCII) (*.PPM)
Portable Pixelmap (BINARY) (*.PPM)
Sun Rasterfile (*.RAS)
truevision Targa files (*.TGA, *.TARGA)
Tagged Image File Format (*.TIF, *.TIFF)
Wireless Bitmap (*.WBMP)
Adobe Photoshop (*.PSD)
Dr. Halo (*.CUT)
X11 Bitmap Format (*.XBM)
X11 Pixmap Format (*.XPM)
DirectDraw Surface (*.DDS)
Graphics Interchange Format (*.GIF)
High Dynamic Range (*.HDR)
Raw Fax format CCITT G3 (*.G3)
Silicon Graphics SGI image format (*.SGI)
OpenEXR format (*.EXR)
JPEG-2000 format (*.J2K, *.J2C)
JPEG-2000 format (*.JP2)
Portable FloatMap (*.PFM)
Macintosh PICT (*.PICT)
RAW camera image (*.*)
Provides methods for working with generic bitmap scanlines.
Type of the bitmaps' scanlines.
Initializes a new instance based on the specified FreeImage bitmap.
Handle to a FreeImage bitmap.
Initializes a new instance based on the specified FreeImage bitmap.
Handle to a FreeImage bitmap.
Index of the zero based scanline.
Class wrapping streams, implementing a buffer for read data,
so that seek operations can be made.
FreeImage can load bitmaps from arbitrary sources.
.NET works with different streams like File- or NetConnection-strams.
NetConnection streams, which are used to load files from web servers,
for example cannot seek.
But FreeImage frequently uses the seek operation when loading bitmaps.
StreamWrapper wrapps a stream and makes it seekable by caching all read
data into an internal MemoryStream to jump back- and forward.
StreamWapper is for internal use and only for loading from streams.
The stream to wrap
The caching stream
Indicates if the wrapped stream reached its end
Tells the wrapper to block readings or not
Indicates if the wrapped stream is disposed or not
Initializes a new instance based on the specified .
The stream to wrap.
When true the wrapper always tries to read the requested
amount of data from the wrapped stream.
Releases all resources used by the instance.
Specifies how a single frame will be handled after being displayed.
Same behavior as but should not be used.
The image is left in place and will be overdrawn by the next image.
The area of the image will be blanked out by its background.
Restores the the area of the image to the state it was before it
has been dawn.
Color channels. Constants used in color manipulation routines.
Use red, green and blue channels
Use red channel
Use green channel
Use blue channel
Use alpha channel
Use black channel
Complex images: use real part
Complex images: use imaginary part
Complex images: use magnitude
Complex images: use phase
Enumeration used for color conversions.
FREE_IMAGE_COLOR_DEPTH contains several colors to convert to.
The default value 'FICD_AUTO'.
Unknown.
Auto selected by the used algorithm.
1-bit.
1-bit using dithering.
1-bit using threshold.
4-bit.
8-bit.
16-bit 555 (1 bit remains unused).
16-bit 565 (all bits are used).
24-bit.
32-bit.
Reorder palette (make it linear). Only affects 1-, 4- and 8-bit images.
The palette is only reordered in case the image is greyscale
(all palette entries have the same red, green and blue value).
Converts the image to greyscale.
Flag to mask out all non color depth flags.
Constants used in color filling routines.
Default value.
color is RGB color (contains no valid alpha channel).
color is RGBA color (contains a valid alpha channel).
Lookup nearest RGB color from palette.
Lookup equal RGB color from palette.
contains the palette index to be used.
Image color types used in FreeImage.
min value is white
min value is black
RGB color model
color map indexed
RGB color model with alpha channel
CMYK color model
List of combinable compare modes.
Compare headers.
Compare palettes.
Compare pixel data.
Compare meta data.
Compare everything.
Dithering algorithms.
Constants used in FreeImage_Dither.
Floyd and Steinberg error diffusion
Bayer ordered dispersed dot dithering (order 2 dithering matrix)
Bayer ordered dispersed dot dithering (order 3 dithering matrix)
Ordered clustered dot dithering (order 3 - 6x6 matrix)
Ordered clustered dot dithering (order 4 - 8x8 matrix)
Ordered clustered dot dithering (order 8 - 16x16 matrix)
Bayer ordered dispersed dot dithering (order 4 dithering matrix)
Upsampling / downsampling filters. Constants used in FreeImage_Rescale.
Box, pulse, Fourier window, 1st order (constant) b-spline
Mitchell and Netravali's two-param cubic filter
Bilinear filter
4th order (cubic) b-spline
Catmull-Rom spline, Overhauser spline
Lanczos3 filter
I/O image format identifiers.
Unknown format (returned value only, never use it as input value)
Windows or OS/2 Bitmap File (*.BMP)
Windows Icon (*.ICO)
Independent JPEG Group (*.JPG, *.JIF, *.JPEG, *.JPE)
JPEG Network Graphics (*.JNG)
Commodore 64 Koala format (*.KOA)
Amiga IFF (*.IFF, *.LBM)
Amiga IFF (*.IFF, *.LBM)
Multiple Network Graphics (*.MNG)
Portable Bitmap (ASCII) (*.PBM)
Portable Bitmap (BINARY) (*.PBM)
Kodak PhotoCD (*.PCD)
Zsoft Paintbrush PCX bitmap format (*.PCX)
Portable Graymap (ASCII) (*.PGM)
Portable Graymap (BINARY) (*.PGM)
Portable Network Graphics (*.PNG)
Portable Pixelmap (ASCII) (*.PPM)
Portable Pixelmap (BINARY) (*.PPM)
Sun Rasterfile (*.RAS)
truevision Targa files (*.TGA, *.TARGA)
Tagged Image File Format (*.TIF, *.TIFF)
Wireless Bitmap (*.WBMP)
Adobe Photoshop (*.PSD)
Dr. Halo (*.CUT)
X11 Bitmap Format (*.XBM)
X11 Pixmap Format (*.XPM)
DirectDraw Surface (*.DDS)
Graphics Interchange Format (*.GIF)
High Dynamic Range (*.HDR)
Raw Fax format CCITT G3 (*.G3)
Silicon Graphics SGI image format (*.SGI)
OpenEXR format (*.EXR)
JPEG-2000 format (*.J2K, *.J2C)
JPEG-2000 format (*.JP2)
Portable FloatMap (*.PFM)
Macintosh PICT (*.PICT)
RAW camera image (*.*)
Lossless JPEG transformations constants used in FreeImage_JPEGTransform.
no transformation
horizontal flip
vertical flip
transpose across UL-to-LR axis
transpose across UR-to-LL axis
90-degree clockwise rotation
180-degree rotation
270-degree clockwise (or 90 ccw)
Flags used in load functions.
Default option for all types.
Load the image as a 256 color image with ununsed palette entries, if it's 16 or 2 color.
'Play' the GIF to generate each frame (as 32bpp) instead of returning raw frame data when loading.
Convert to 32bpp and create an alpha channel from the AND-mask when loading.
Load the file as fast as possible, sacrificing some quality.
Load the file with the best quality, sacrificing some speed.
Load separated CMYK "as is" (use | to combine with other load flags).
Load and rotate according to Exif 'Orientation' tag if available.
Load the bitmap sized 768 x 512.
Load the bitmap sized 384 x 256.
Load the bitmap sized 192 x 128.
Avoid gamma correction.
If set the loader converts RGB555 and ARGB8888 -> RGB888.
Reads tags for separated CMYK.
Tries to load the JPEG preview image, embedded in
Exif Metadata or load the image as RGB 24-bit if no
preview image is available.
Loads the image as RGB 24-bit.
Metadata models supported by FreeImage.
No data
single comment or keywords
Exif-TIFF metadata
Exif-specific metadata
Exif GPS metadata
Exif maker note metadata
Exif interoperability metadata
IPTC/NAA metadata
Abobe XMP metadata
GeoTIFF metadata
Animation metadata
Used to attach other metadata types to a dib
Tag data type information (based on TIFF specifications)
Note: RATIONALs are the ratio of two 32-bit integer values.
placeholder
8-bit unsigned integer
8-bit bytes w/ last byte null
16-bit unsigned integer
32-bit unsigned integer
64-bit unsigned fraction
8-bit signed integer
8-bit untyped data
16-bit signed integer
32-bit signed integer
64-bit signed fraction
32-bit IEEE floating point
64-bit IEEE floating point
32-bit unsigned integer (offset)
32-bit RGBQUAD
Flags for copying data from a bitmap to another.
Exisiting metadata will remain unchanged.
Existing metadata will be cleared.
Existing metadata will be overwritten.
Color quantization algorithms.
Constants used in FreeImage_ColorQuantize.
Xiaolin Wu color quantization algorithm
NeuQuant neural-net quantization algorithm by Anthony Dekker
Flags used in save functions.
Default option for all types.
Save with run length encoding.
Save data as float instead of as half (not recommended).
Save with no compression.
Save with zlib compression, in blocks of 16 scan lines.
Save with piz-based wavelet compression.
Save with lossy 24-bit float compression.
Save with lossy 44% float compression - goes to 22% when combined with EXR_LC.
Save images with one luminance and two chroma channels, rather than as RGB (lossy compression).
Save with superb quality (100:1).
Save with good quality (75:1).
Save with normal quality (50:1).
Save with average quality (25:1).
Save with bad quality (10:1).
Save as a progressive-JPEG (use | to combine with other save flags).
Save with high 4x1 chroma subsampling (4:1:1).
Save with medium 2x2 medium chroma (4:2:0).
Save with low 2x1 chroma subsampling (4:2:2).
Save with no chroma subsampling (4:4:4).
Save using ZLib level 1 compression flag
(default value is ).
Save using ZLib level 6 compression flag (default recommended value).
save using ZLib level 9 compression flag
(default value is ).
Save without ZLib compression.
Save using Adam7 interlacing (use | to combine with other save flags).
If set the writer saves in ASCII format (i.e. P1, P2 or P3).
Stores tags for separated CMYK (use | to combine with compression flags).
Save using PACKBITS compression.
Save using DEFLATE compression (a.k.a. ZLIB compression).
Save using ADOBE DEFLATE compression.
Save without any compression.
Save using CCITT Group 3 fax encoding.
Save using CCITT Group 4 fax encoding.
Save using LZW compression.
Save using JPEG compression.
Tone mapping operators. Constants used in FreeImage_ToneMapping.
Adaptive logarithmic mapping (F. Drago, 2003)
Dynamic range reduction inspired by photoreceptor physiology (E. Reinhard, 2005)
Gradient domain high dynamic range compression (R. Fattal, 2002)
Image types used in FreeImage.
unknown type
standard image : 1-, 4-, 8-, 16-, 24-, 32-bit
array of unsigned short : unsigned 16-bit
array of short : signed 16-bit
array of unsigned long : unsigned 32-bit
array of long : signed 32-bit
array of float : 32-bit IEEE floating point
array of double : 64-bit IEEE floating point
array of FICOMPLEX : 2 x 64-bit IEEE floating point
48-bit RGB image : 3 x 16-bit
64-bit RGBA image : 4 x 16-bit
96-bit RGB float image : 3 x 32-bit IEEE floating point
128-bit RGBA float image : 4 x 32-bit IEEE floating point
Flags for ICC profiles.
Default value.
The color is CMYK.
List different search modes.
The key of the metadata.
The description of the metadata
The ToString value of the metadata
The BITMAP structure defines the type, width, height, color format, and bit values of a bitmap.
The bitmap formats currently used are monochrome and color. The monochrome bitmap uses a one-bit,
one-plane format. Each scan is a multiple of 32 bits.
Scans are organized as follows for a monochrome bitmap of height n:
Scan 0
Scan 1
.
.
.
Scan n-2
Scan n-1
The pixels on a monochrome device are either black or white. If the corresponding bit in the
bitmap is 1, the pixel is set to the foreground color; if the corresponding bit in the bitmap
is zero, the pixel is set to the background color.
All devices that have the RC_BITBLT device capability support bitmaps. For more information,
see GetDeviceCaps.
Each device has a unique color format. To transfer a bitmap from one device to another,
use the GetDIBits and SetDIBits functions.
Specifies the bitmap type. This member must be zero.
Specifies the width, in pixels, of the bitmap. The width must be greater than zero.
Specifies the height, in pixels, of the bitmap. The height must be greater than zero.
Specifies the number of bytes in each scan line. This value must be divisible by 2,
because the system assumes that the bit values of a bitmap form an array that is word aligned.
Specifies the count of color planes.
Specifies the number of bits required to indicate the color of a pixel.
Pointer to the location of the bit values for the bitmap.
The bmBits member must be a long pointer to an array of character (1-byte) values.
The BITMAPINFO structure defines the dimensions and color information for a DIB.
A DIB consists of two distinct parts: a BITMAPINFO structure describing the dimensions
and colors of the bitmap, and an array of bytes defining the pixels of the bitmap. The bits in
the array are packed together, but each scan line must be padded with zeroes to end on a
LONG data-type boundary. If the height of the bitmap is positive, the bitmap is a
bottom-up DIB and its origin is the lower-left corner. If the height is negative, the bitmap is
a top-down DIB and its origin is the upper left corner.
A bitmap is packed when the bitmap array immediately follows the BITMAPINFO header.
Packed bitmaps are referenced by a single pointer. For packed bitmaps, the biClrUsed
member must be set to an even number when using the DIB_PAL_COLORS mode so that the DIB bitmap
array starts on a DWORD boundary.
Note The bmiColors member should not contain palette indexes if the bitmap is to
be stored in a file or transferred to another application.
Unless the application has exclusive use and control of the bitmap, the bitmap color table
should contain explicit RGB values.
Specifies a structure that contains information
about the dimensions of color format.
The bmiColors member contains one of the following:
-
An array of . The elements of the array that make up the
color table.
-
An array of 16-bit unsigned integers that specifies indexes into the currently realized
logical palette. This use of bmiColors is allowed for functions that use DIBs.
When bmiColors elements contain indexes to a realized logical palette, they must
also call the following bitmap functions:
CreateDIBitmap
CreateDIBPatternBrush
CreateDIBSection
The iUsage parameter of CreateDIBSection must be set to DIB_PAL_COLORS.
The number of entries in the array depends on the values of the biBitCount and
biClrUsed members of the structure.
The colors in the bmiColors table appear in order of importance. For more information,
see the Remarks section.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
This structure contains information about the dimensions and color format
of a device-independent bitmap (DIB).
The structure combines the
BITMAPINFOHEADER structure and a color table to provide a complete
definition of the dimensions and colors of a DIB.
Specifies the size of the structure, in bytes.
Specifies the width of the bitmap, in pixels.
Windows 98/Me, Windows 2000/XP: If biCompression is BI_JPEG or BI_PNG,
the biWidth member specifies the width of the decompressed JPEG or PNG image file,
respectively.
Specifies the height of the bitmap, in pixels. If biHeight is positive, the bitmap
is a bottom-up DIB and its origin is the lower-left corner. If biHeight is negative,
the bitmap is a top-down DIB and its origin is the upper-left corner.
If biHeight is negative, indicating a top-down DIB, biCompression must be
either BI_RGB or BI_BITFIELDS. Top-down DIBs cannot be compressed.
Windows 98/Me, Windows 2000/XP: If biCompression is BI_JPEG or BI_PNG,
the biHeight member specifies the height of the decompressed JPEG or PNG image file,
respectively.
Specifies the number of planes for the target device. This value must be set to 1.
Specifies the number of bits per pixel.The biBitCount member of the BITMAPINFOHEADER
structure determines the number of bits that define each pixel and the maximum number of
colors in the bitmap. This member must be one of the following values.
Value
Meaning
-
0
Windows 98/Me, Windows 2000/XP: The number of bits-per-pixel is specified
or is implied by the JPEG or PNG format.
-
1
The bitmap is monochrome, and the bmiColors member of
contains two entries. Each bit in the bitmap array represents a pixel. If the bit is clear,
the pixel is displayed with the color of the first entry in the bmiColors table; if the bit
is set, the pixel has the color of the second entry in the table.
-
4
The bitmap has a maximum of 16 colors, and the bmiColors member of BITMAPINFO
contains up to 16 entries. Each pixel in the bitmap is represented by a 4-bit index into the
color table. For example, if the first byte in the bitmap is 0x1F, the byte represents two
pixels. The first pixel contains the color in the second table entry, and the second pixel
contains the color in the sixteenth table entry.
-
8
The bitmap has a maximum of 256 colors, and the bmiColors member of BITMAPINFO
contains up to 256 entries. In this case, each byte in the array represents a single pixel.
-
16
The bitmap has a maximum of 2^16 colors. If the biCompression member of the
BITMAPINFOHEADER is BI_RGB, the bmiColors member of BITMAPINFO is NULL.
Each WORD in the bitmap array represents a single pixel. The relative intensities
of red, green, and blue are represented with five bits for each color component.
The value for blue is in the least significant five bits, followed by five bits each for
green and red. The most significant bit is not used. The bmiColors color table is used
for optimizing colors used on palette-based devices, and must contain the number of entries
specified by the biClrUsed member of the BITMAPINFOHEADER.
If the biCompression member of the BITMAPINFOHEADER is BI_BITFIELDS, the
bmiColors member contains three DWORD color masks that specify the red, green,
and blue components, respectively, of each pixel. Each WORD in the bitmap array represents
a single pixel.
Windows NT/Windows 2000/XP: When the biCompression member is BI_BITFIELDS,
bits set in each DWORD mask must be contiguous and should not overlap the bits
of another mask. All the bits in the pixel do not have to be used.
Windows 95/98/Me: When the biCompression member is BI_BITFIELDS, the system
supports only the following 16bpp color masks: A 5-5-5 16-bit image, where the blue mask is
0x001F, the green mask is 0x03E0, and the red mask is 0x7C00; and a 5-6-5 16-bit image,
where the blue mask is 0x001F, the green mask is 0x07E0, and the red mask is 0xF800.
-
24
The bitmap has a maximum of 2^24 colors, and the bmiColors member of BITMAPINFO
is NULL. Each 3-byte triplet in the bitmap array represents the relative intensities of blue,
green, and red, respectively, for a pixel. The bmiColors color table is used for
optimizing colors used on palette-based devices, and must contain the number of entries
specified by the biClrUsed member of the BITMAPINFOHEADER.
-
32
The bitmap has a maximum of 2^32 colors. If the biCompression member of the
BITMAPINFOHEADER is BI_RGB, the bmiColors member of BITMAPINFO is NULL.
Each DWORD in the bitmap array represents the relative intensities of blue, green, and red,
respectively, for a pixel. The high byte in each DWORD is not used. The bmiColors
color table is used for optimizing colors used on palette-based devices, and must contain the
number of entries specified by the biClrUsed member of the BITMAPINFOHEADER.
If the biCompression member of the BITMAPINFOHEADER is BI_BITFIELDS,
the bmiColors member contains three DWORD color masks that specify the red, green,
and blue components, respectively, of each pixel. Each DWORD in the bitmap array represents
a single pixel.
Windows NT/ 2000: When the biCompression member is BI_BITFIELDS, bits set in each
DWORD mask must be contiguous and should not overlap the bits of another mask. All the
bits in the pixel do not need to be used.
Windows 95/98/Me: When the biCompression member is BI_BITFIELDS, the system
supports only the following 32-bpp color mask: The blue mask is 0x000000FF, the green mask is
0x0000FF00, and the red mask is 0x00FF0000.
Specifies the type of compression for a compressed bottom-up bitmap (top-down DIBs cannot be
compressed).
Value
Meaning
-
BI_RGB
An uncompressed format.
-
BI_RLE8
A run-length encoded (RLE) format for bitmaps with 8 bpp. The compression format
is a 2-byte format consisting of a count byte followed by a byte containing a color index.
-
BI_RLE4
An RLE format for bitmaps with 4 bpp. The compression format is a 2-byte format
consisting of a count byte followed by two word-length color indexes.
-
BI_BITFIELDS
Specifies that the bitmap is not compressed and that the color table consists
of three DWORD color masks that specify the red, green, and blue components, respectively,
of each pixel. This is valid when used with 16- and 32-bpp bitmaps.
-
BI_JPEG
Windows 98/Me, Windows 2000/XP: Indicates that the image is a JPEG image.
-
BI_PNG
Windows 98/Me, Windows 2000/XP: Indicates that the image is a PNG image.
Specifies the size, in bytes, of the image. This may be set to zero for BI_RGB bitmaps.
Windows 98/Me, Windows 2000/XP: If biCompression is BI_JPEG or BI_PNG,
biSizeImage indicates the size of the JPEG or PNG image buffer, respectively.
Specifies the horizontal resolution, in pixels-per-meter, of the target device for the bitmap.
An application can use this value to select a bitmap from a resource group that best matches
the characteristics of the current device.
Specifies the vertical resolution, in pixels-per-meter, of the target device for the bitmap.
Specifies the number of color indexes in the color table that are actually used by the bitmap.
If this value is zero, the bitmap uses the maximum number of colors corresponding to the value
of the biBitCount member for the compression mode specified by biCompression.
If iClrUsed is nonzero and the biBitCount member is less than 16, the biClrUsed
member specifies the actual number of colors the graphics engine or device driver accesses.
If biBitCount is 16 or greater, the biClrUsed member specifies the size of the color
table used to optimize performance of the system color palettes. If biBitCount equals 16 or 32,
the optimal color palette starts immediately following the three DWORD masks.
When the bitmap array immediately follows the structure, it is a packed bitmap.
Packed bitmaps are referenced by a single pointer. Packed bitmaps require that the
biClrUsed member must be either zero or the actual size of the color table.
Specifies the number of color indexes that are required for displaying the bitmap. If this value
is zero, all colors are required.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
The FI16RGB555 structure describes a color consisting of relative
intensities of red, green, blue and alpha value. Each single color
component consumes 5 bits and so, takes values in the range from 0 to 31.
For easy integration of the underlying structure into the .NET framework,
the FI16RGB555 structure implements implicit conversion operators to
convert the represented color to and from the
type. This makes the type a real replacement
for the FI16RGB555 structure and my be used in all situations which require
an FI16RGB555 type.
The following code example demonstrates the various conversions between the
FI16RGB555 structure and the structure.
FI16RGB555 fi16rgb;
// Initialize the structure using a native .NET Color structure.
fi16rgb = new FI16RGB555(Color.Indigo);
// Initialize the structure using the implicit operator.
fi16rgb = Color.DarkSeaGreen;
// Convert the FI16RGB555 instance into a native .NET Color
// using its implicit operator.
Color color = fi16rgb;
// Using the structure's Color property for converting it
// into a native .NET Color.
Color another = fi16rgb.Color;
The value of the color.
Initializes a new instance based on the specified .
to initialize with.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Gets or sets the of the structure.
Gets or sets the red color component.
Gets or sets the green color component.
Gets or sets the blue color component.
The FI16RGB565 structure describes a color consisting of relative
intensities of red, green, blue and alpha value. Each single color
component consumes 5 bits and so, takes values in the range from 0 to 31.
For easy integration of the underlying structure into the .NET framework,
the FI16RGB565 structure implements implicit conversion operators to
convert the represented color to and from the
type. This makes the type a real replacement
for the FI16RGB565 structure and my be used in all situations which require
an FI16RGB565 type.
The following code example demonstrates the various conversions between the
FI16RGB565 structure and the structure.
FI16RGB565 fi16rgb;
// Initialize the structure using a native .NET Color structure.
fi16rgb = new FI16RGB565(Color.Indigo);
// Initialize the structure using the implicit operator.
fi16rgb = Color.DarkSeaGreen;
// Convert the FI16RGB565 instance into a native .NET Color
// using its implicit operator.
Color color = fi16rgb;
// Using the structure's Color property for converting it
// into a native .NET Color.
Color another = fi16rgb.Color;
The value of the color.
Initializes a new instance based on the specified .
to initialize with.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Gets or sets the of the structure.
Gets or sets the red color component.
Gets or sets the green color component.
Gets or sets the blue color component.
The FI1BIT structure represents a single bit.
It's value can be 0 or 1.
Represents the largest possible value of . This field is constant.
Represents the smallest possible value of . This field is constant.
The value of the structure.
Initializes a new instance based on the specified value.
The value to initialize with.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
The FI4BIT structure represents the half of a .
It's valuerange is between 0 and 15.
Represents the largest possible value of . This field is constant.
Represents the smallest possible value of . This field is constant.
The value of the structure.
Initializes a new instance based on the specified value.
The value to initialize with.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
The FIBITMAP structure is a handle to a FreeImage bimtap.
The handle represented by a FIBITBAP structure provides
access to either a singlepage bitmap or exactly one page of
a multipage bitmap.
A read-only field that represents a handle that has been initialized to zero.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Sets the handle to null.
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Determines whether the specified is equal to the current .
The to compare with the current .
true if the specified is equal to the current ; otherwise, false.
Indicates whether the current object is equal to another object of the same type.
An object to compare with this object.
true if the current object is equal to the other parameter; otherwise, false.
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Gets whether the handle is a null or not.
true if this handle is a null;
otherwise, false.
The FICOMPLEX structure describes a color consisting of a real and an imaginary part.
Each part is using 4 bytes of data.
Real part of the color.
Imaginary part of the color.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
This Structure contains ICC-Profile data.
Creates a new ICC-Profile for .
Handle to a FreeImage bitmap.
The ICC-Profile data.
is null.
Creates a new ICC-Profile for .
Handle to a FreeImage bitmap.
The ICC-Profile data.
Number of bytes to use from data.
is null.
Info flag of the profile.
Profile's size measured in bytes.
Points to a block of contiguous memory containing the profile.
Copy of the ICC-Profiles data.
Indicates whether the profile is CMYK.
The FIMEMORY structure is a handle to an opened memory stream.
A read-only field that represents a handle that has been initialized to zero.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Sets the handle to null.
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Determines whether the specified is equal to the current .
The to compare with the current .
true if the specified is equal to the current ; otherwise, false.
Indicates whether the current object is equal to another object of the same type.
An object to compare with this object.
true if the current object is equal to the other parameter; otherwise, false.
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Gets whether the pointer is a null pointer or not.
true if this is a null pointer;
otherwise, false.
The FIMETADATA structure is an unique search handle for metadata search operations.
The FIMETADATA structure is usually returned by the
function and then used on subsequent calls to
.
When the FIMETADATA handle is no longer used, it needs to be freed by the
function.
A read-only field that represents a handle that has been initialized to zero.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Sets the handle to null.
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Determines whether the specified is equal to the current .
The to compare with the current .
true if the specified is equal to the current ; otherwise, false.
Indicates whether the current object is equal to another object of the same type.
An object to compare with this object.
true if the current object is equal to the other parameter; otherwise, false.
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Gets whether the pointer is a null pointer or not.
true if this is a null pointer;
otherwise, false.
The FIMULTIBITMAP structure is a handle to a FreeImage multipaged bimtap.
A read-only field that represents a handle that has been initialized to zero.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Sets the handle to null.
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Determines whether the specified is equal to the current .
The to compare with the current .
true if the specified is equal to the current ; otherwise, false.
Indicates whether the current object is equal to another object of the same type.
An object to compare with this object.
true if the current object is equal to the other parameter; otherwise, false.
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Gets whether the handle is a null or not.
true if this handle is a null;
otherwise, false.
The FIRational structure represents a fraction via two
instances which are interpreted as numerator and denominator.
The structure tries to approximate the value of
when creating a new instance by using a better algorithm than FreeImage does.
The structure implements the following operators:
+, -, ++, --, ==, != , >, >==, <, <== and ~ (which switches nominator and denomiator).
The structure can be converted into all .NET standard types either implicit or
explicit.
Represents the largest possible value of . This field is constant.
Represents the smallest possible value of . This field is constant.
Represents the smallest positive value greater than zero. This field is constant.
Initializes a new instance based on the specified parameters.
The numerator.
The denominator.
Initializes a new instance based on the specified parameters.
The tag to read the data from.
Initializes a new instance based on the specified parameters.
The value to convert into a fraction.
cannot be converted into a fraction
represented by two integer values.
Returns the truncated value of the fraction.
Calculated the greatest common divisor of 'a' and 'b'.
Calculated the smallest common multiple of 'a' and 'b'.
Normalizes the fraction.
Normalizes a fraction.
Returns the digits after the point.
Creates a continued fraction of a decimal value.
Creates a fraction from a continued fraction.
Tries 'brute force' to approximate with a fraction.
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Standard implementation of the operator.
Standard implementation of the operator.
Returns the reciprocal value of this instance.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Formats the value of the current instance using the specified format.
The String specifying the format to use.
The IFormatProvider to use to format the value.
A String containing the value of the current instance in the specified format.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
The numerator of the fraction.
The denominator of the fraction.
Returns whether the fraction is representing an integer value.
The FIRGB16 structure describes a color consisting of relative
intensities of red, green, blue and alpha value. Each single color
component consumes 16 bits and so, takes values in the range from 0 to 65535.
The FIRGB16 structure provides access to an underlying FreeImage FIRGB16
structure. To determine the red, green or blue component of a color,
use the red, green or blue fields, respectively.
For easy integration of the underlying structure into the .NET framework,
the FIRGB16 structure implements implicit conversion operators to
convert the represented color to and from the
type. This makes the type a real replacement
for the FIRGB16 structure and my be used in all situations which require
an FIRGB16 type.
Each color component red, green or blue of FIRGB16 is translated into
it's corresponding color component R, G or B of
by right shifting 8 bits and shifting left 8 bits for the reverse conversion.
When converting from into FIRGB16, the
color's alpha value is ignored and assumed to be 255 when converting from
FIRGB16 into , creating a fully
opaque color.
Conversion from System.Drawing.Color to FIRGB16
FIRGB16.component = Color.component << 8
Conversion from FIRGB16 to System.Drawing.Color
Color.component = FIRGB16.component >> 8
The same conversion is also applied when the
property or the constructor
is invoked.
The following code example demonstrates the various conversions between the
FIRGB16 structure and the structure.
FIRGB16 firgb16;
// Initialize the structure using a native .NET Color structure.
firgb16 = new FIRGBA16(Color.Indigo);
// Initialize the structure using the implicit operator.
firgb16 = Color.DarkSeaGreen;
// Convert the FIRGB16 instance into a native .NET Color
// using its implicit operator.
Color color = firgb16;
// Using the structure's Color property for converting it
// into a native .NET Color.
Color another = firgb16.Color;
The red color component.
The green color component.
The blue color component.
Initializes a new instance based on the specified .
to initialize with.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Gets or sets the of the structure.
The FIRGBA16 structure describes a color consisting of relative
intensities of red, green, blue and alpha value. Each single color
component consumes 16 bits and so, takes values in the range from 0 to 65535.
The FIRGBA16 structure provides access to an underlying FreeImage FIRGBA16
structure. To determine the alpha, red, green or blue component of a color,
use the alpha, red, green or blue fields, respectively.
For easy integration of the underlying structure into the .NET framework,
the FIRGBA16 structure implements implicit conversion operators to
convert the represented color to and from the
type. This makes the type a real replacement
for the FIRGBA16 structure and my be used in all situations which require
an FIRGBA16 type.
Each color component alpha, red, green or blue of FIRGBA16
is translated into it's corresponding color component A, R, G or B of
by an 8 bit right shift and vice versa.
Conversion from System.Drawing.Color to FIRGBA16
FIRGBA16.component = Color.component << 8
Conversion from FIRGBA16 to System.Drawing.Color
Color.component = FIRGBA16.component >> 8
The same conversion is also applied when the
property or the constructor
is invoked.
The following code example demonstrates the various conversions between the
FIRGBA16 structure and the structure.
FIRGBA16 firgba16;
// Initialize the structure using a native .NET Color structure.
firgba16 = new FIRGBA16(Color.Indigo);
// Initialize the structure using the implicit operator.
firgba16 = Color.DarkSeaGreen;
// Convert the FIRGBA16 instance into a native .NET Color
// using its implicit operator.
Color color = firgba16;
// Using the structure's Color property for converting it
// into a native .NET Color.
Color another = firgba16.Color;
The red color component.
The green color component.
The blue color component.
The alpha color component.
Initializes a new instance based on the specified .
to initialize with.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Gets or sets the of the structure.
The FIRGBAF structure describes a color consisting of relative
intensities of red, green, blue and alpha value. Each single color
component consumes 32 bits and takes values in the range from 0 to 1.
The FIRGBAF structure provides access to an underlying FreeImage FIRGBAF
structure. To determine the alpha, red, green or blue component of a color,
use the alpha, red, green or blue fields, respectively.
For easy integration of the underlying structure into the .NET framework,
the FIRGBAF structure implements implicit conversion operators to
convert the represented color to and from the
type. This makes the type a real replacement
for the FIRGBAF structure and my be used in all situations which require
an FIRGBAF type.
Each color component alpha, red, green or blue of FIRGBAF is translated
into it's corresponding color component A, R, G or B of
by linearly mapping the values of one range
into the other range and vice versa.
Conversion from System.Drawing.Color to FIRGBAF
FIRGBAF.component = (float)Color.component / 255f
Conversion from FIRGBAF to System.Drawing.Color
Color.component = (int)(FIRGBAF.component * 255f)
The same conversion is also applied when the
property or the constructor
is invoked.
The following code example demonstrates the various conversions between the
FIRGBAF structure and the structure.
FIRGBAF firgbaf;
// Initialize the structure using a native .NET Color structure.
firgbaf = new FIRGBAF(Color.Indigo);
// Initialize the structure using the implicit operator.
firgbaf = Color.DarkSeaGreen;
// Convert the FIRGBAF instance into a native .NET Color
// using its implicit operator.
Color color = firgbaf;
// Using the structure's Color property for converting it
// into a native .NET Color.
Color another = firgbaf.Color;
The red color component.
The green color component.
The blue color component.
The alpha color component.
Initializes a new instance based on the specified .
to initialize with.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Gets or sets the of the structure.
The FIRGBF structure describes a color consisting of relative
intensities of red, green, blue and alpha value. Each single color
component consumes 32 bits and takes values in the range from 0 to 1.
The FIRGBF structure provides access to an underlying FreeImage FIRGBF
structure. To determine the red, green or blue component of a color, use the
red, green or blue fields, respectively.
For easy integration of the underlying structure into the .NET framework,
the FIRGBF structure implements implicit conversion operators to
convert the represented color to and from the
type. This makes the type a real replacement
for the FIRGBF structure and my be used in all situations which require
an FIRGBF type.
Each color component alpha, red, green or blue of FIRGBF is translated
into it's corresponding color component A, R, G or B of
by linearly mapping the values of one range
into the other range and vice versa.
When converting from into FIRGBF, the
color's alpha value is ignored and assumed to be 255 when converting from
FIRGBF into , creating a fully
opaque color.
Conversion from System.Drawing.Color to FIRGBF
FIRGBF.component = (float)Color.component / 255f
Conversion from FIRGBF to System.Drawing.Color
Color.component = (int)(FIRGBF.component * 255f)
The same conversion is also applied when the
property or the constructor
is invoked.
The following code example demonstrates the various conversions between the
FIRGBF structure and the structure.
FIRGBF firgbf;
// Initialize the structure using a native .NET Color structure.
firgbf = new FIRGBF(Color.Indigo);
// Initialize the structure using the implicit operator.
firgbf = Color.DarkSeaGreen;
// Convert the FIRGBF instance into a native .NET Color
// using its implicit operator.
Color color = firgbf;
// Using the structure's Color property for converting it
// into a native .NET Color.
Color another = firgbf.Color;
The red color component.
The green color component.
The blue color component.
Initializes a new instance based on the specified .
to initialize with.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Gets or sets the of the structure.
The FITAG structure is a handle to a FreeImage metadata tag.
A read-only field that represents a handle that has been initialized to zero.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Sets the handle to null.
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Determines whether the specified is equal to the current .
The to compare with the current .
true if the specified is equal to the current ; otherwise, false.
Indicates whether the current object is equal to another object of the same type.
An object to compare with this object.
true if the current object is equal to the other parameter; otherwise, false.
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Gets whether the pointer is a null pointer or not.
true if this is a null pointer;
otherwise, false.
The FIURational structure represents a fraction via two
instances which are interpreted as numerator and denominator.
The structure tries to approximate the value of
when creating a new instance by using a better algorithm than FreeImage does.
The structure implements the following operators:
+, ++, --, ==, != , >, >==, <, <== and ~ (which switches nominator and denomiator).
The structure can be converted into all .NET standard types either implicit or
explicit.
Represents the largest possible value of . This field is constant.
Represents the smallest possible value of . This field is constant.
Represents the smallest positive value greater than zero. This field is constant.
Initializes a new instance based on the specified parameters.
The numerator.
The denominator.
Initializes a new instance based on the specified parameters.
The tag to read the data from.
Initializes a new instance based on the specified parameters.
The value to convert into a fraction.
cannot be converted into a fraction
represented by two unsigned integer values.
Returns the truncated value of the fraction.
Calculated the greatest common divisor of 'a' and 'b'.
Calculated the smallest common multiple of 'a' and 'b'.
Normalizes the fraction.
Normalizes a fraction.
Returns the digits after the point.
Creates a continued fraction of a decimal value.
Creates a fraction from a continued fraction.
Tries 'brute force' to approximate with a fraction.
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Standard implementation of the operator.
Returns the reciprocal value of this instance.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Standard implementation of the operator.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Formats the value of the current instance using the specified format.
The String specifying the format to use.
The IFormatProvider to use to format the value.
A String containing the value of the current instance in the specified format.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
The numerator of the fraction.
The denominator of the fraction.
Returns whether the fraction is representing an integer value.
Wrapper for a custom handle.
The fi_handle of FreeImage in C++ is a simple pointer, but in .NET
it's not that simple. This wrapper uses fi_handle in two different ways.
We implement a new plugin and FreeImage gives us a handle (pointer) that
we can simply pass through to the given functions in a 'FreeImageIO'
structure.
But when we want to use LoadFromhandle or SaveToHandle we need
a fi_handle (that we receive again in our own functions).
This handle is for example a stream (see LoadFromStream / SaveToStream)
that we want to work with. To know which stream a read/write is meant for
we could use a hash value that the wrapper itself handles or we can
go the unmanaged way of using a handle.
Therefor we use a to receive a unique pointer that we can
convert back into a .NET object.
When the fi_handle instance is no longer needed the instance must be disposed
by the creater manually! It is recommended to use the using statement to
be sure the instance is always disposed:
using (fi_handle handle = new fi_handle(object))
{
callSomeFunctions(handle);
}
What does that mean?
If we get a fi_handle from unmanaged code we get a pointer to unmanaged
memory that we do not have to care about, and just pass ist back to FreeImage.
If we have to create a handle our own we use the standard constructur
that fills the with an pointer that represents the given object.
With calling the is used to retrieve the original
object we passed through the constructor.
This way we can implement a fi_handle that works with managed an unmanaged
code.
The handle to wrap.
Initializes a new instance wrapping a managed object.
The object to wrap.
is null.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Returns the object assigned to the handle in case this instance
was created by managed code.
assigned to this handle or null on failure.
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Indicates whether the current object is equal to another object of the same type.
An object to compare with this object.
True if the current object is equal to the other parameter; otherwise, false.
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Releases all resources used by the instance.
Gets whether the pointer is a null pointer.
Structure for implementing access to custom handles.
Delegate to the C++ function fread.
Delegate to the C++ function fwrite.
Delegate to the C++ function fseek.
Delegate to the C++ function ftell.
The structure contains functionpointers that make up a FreeImage plugin.
Delegate to a function that returns a string which describes
the plugins format.
Delegate to a function that returns a string which contains
a more detailed description.
Delegate to a function that returns a comma seperated list
of file extensions the plugin can read or write.
Delegate to a function that returns a regular expression that
can be used to idientify whether a file can be handled by the plugin.
Delegate to a function that opens a file.
Delegate to a function that closes a previosly opened file.
Delegate to a function that returns the number of pages of a multipage
bitmap if the plugin is capable of handling multipage bitmaps.
UNKNOWN
Delegate to a function that loads and decodes a bitmap into memory.
Delegate to a function that saves a bitmap.
Delegate to a function that determines whether the source is a valid image.
Delegate to a function that returns a string which contains
the plugin's mime type.
Delegate to a function that returns whether the plugin can handle the
specified color depth.
Delegate to a function that returns whether the plugin can handle the
specified image type.
Delegate to a function that returns whether the plugin can handle
ICC-Profiles.
The RGBQUAD structure describes a color consisting of relative
intensities of red, green, blue and alpha value. Each single color
component consumes 8 bits and so, takes values in the range from 0 to 255.
The RGBQUAD structure provides access to an underlying Win32 RGBQUAD
structure. To determine the alpha, red, green or blue component of a color,
use the rgbReserved, rgbRed, rgbGreen or rgbBlue fields, respectively.
For easy integration of the underlying structure into the .NET framework,
the RGBQUAD structure implements implicit conversion operators to
convert the represented color to and from the
type. This makes the type a real replacement
for the RGBQUAD structure and my be used in all situations which require
an RGBQUAD type.
Each color component rgbReserved, rgbRed, rgbGreen or rgbBlue of RGBQUAD
is translated into it's corresponding color component A, R, G or B of
by an one-to-one manner and vice versa.
Conversion from System.Drawing.Color to RGBQUAD
RGBQUAD.component = Color.component
Conversion from RGBQUAD to System.Drawing.Color
Color.component = RGBQUAD.component
The same conversion is also applied when the
property or the constructor
is invoked.
The following code example demonstrates the various conversions between the
RGBQUAD structure and the structure.
RGBQUAD rgbq;
// Initialize the structure using a native .NET Color structure.
rgbq = new RGBQUAD(Color.Indigo);
// Initialize the structure using the implicit operator.
rgbq = Color.DarkSeaGreen;
// Convert the RGBQUAD instance into a native .NET Color
// using its implicit operator.
Color color = rgbq;
// Using the structure's Color property for converting it
// into a native .NET Color.
Color another = rgbq.Color;
The blue color component.
The green color component.
The red color component.
The alpha color component.
The color's value.
Initializes a new instance based on the specified .
to initialize with.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a Color structure.
A structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Converts an array of into an array of
.
The array to convert.
An array of .
Converts an array of into an array of
.
The array to convert.
An array of .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified structure is equivalent to this structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Gets or sets the of the structure.
The RGBTRIPLE structure describes a color consisting of relative
intensities of red, green and blue value. Each single color component
consumes 8 bits and so, takes values in the range from 0 to 255.
The RGBTRIPLE structure provides access to an underlying Win32 RGBTRIPLE
structure. To determine the red, green or blue component of a color, use the
rgbtRed, rgbtGreen or rgbtBlue fields, respectively.
For easy integration of the underlying structure into the .NET framework,
the RGBTRIPLE structure implements implicit conversion operators to
convert the represented color to and from the
type. This makes the type a real replacement
for the RGBTRIPLE structure and my be used in all situations which require
an RGBTRIPLE type.
Each of the color components rgbtRed, rgbtGreen or rgbtBlue of RGBTRIPLE is
translated into it's corresponding color component R, G or B of
by an one-to-one manner and vice versa.
When converting from into RGBTRIPLE, the
color's alpha value is ignored and assumed to be 255 when converting from
RGBTRIPLE into , creating a fully
opaque color.
Conversion from System.Drawing.Color to RGBTRIPLE
RGBTRIPLE.component = Color.component
Conversion from RGBTRIPLE to System.Drawing.Color
Color.component = RGBTRIPLE.component
The same conversion is also applied when the
property or the constructor
is invoked.
The following code example demonstrates the various conversions between the
RGBTRIPLE structure and the structure.
RGBTRIPLE rgbt;
// Initialize the structure using a native .NET Color structure.
rgbt = new RGBTRIPLE(Color.Indigo);
// Initialize the structure using the implicit operator.
rgbt = Color.DarkSeaGreen;
// Convert the RGBTRIPLE instance into a native .NET Color
// using its implicit operator.
Color color = rgbt;
// Using the structure's Color property for converting it
// into a native .NET Color.
Color another = rgbt.Color;
The blue color component.
The green color component.
The red color component.
Initializes a new instance based on the specified .
to initialize with.
Tests whether two specified structures are equivalent.
The that is to the left of the equality operator.
The that is to the right of the equality operator.
true if the two structures are equal; otherwise, false.
Tests whether two specified structures are different.
The that is to the left of the inequality operator.
The that is to the right of the inequality operator.
true if the two structures are different; otherwise, false.
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of a structure to a structure.
A structure.
A new instance of initialized to .
Converts the value of an structure to a structure.
An structure.
A new instance of initialized to .
Converts the value of a structure to an structure.
A structure.
A new instance of initialized to .
Compares this instance with a specified .
An object to compare with this instance.
A 32-bit signed integer indicating the lexical relationship between the two comparands.
is not a .
Compares this instance with a specified object.
A to compare.
A signed number indicating the relative values of this instance
and .
Tests whether the specified object is a structure
and is equivalent to this structure.
The object to test.
true if is a structure
equivalent to this structure; otherwise, false.
Tests whether the specified structure is equivalent to this
structure.
A structure to compare to this instance.
true if is a structure
equivalent to this structure; otherwise, false.
Returns a hash code for this structure.
An integer value that specifies the hash code for this .
Converts the numeric value of the object
to its equivalent string representation.
The string representation of the value of this instance.
Gets or sets the of the structure.
Delegate for capturing FreeImage error messages.
The format of the image.
The errormessage.
Delegate to the C++ function fread.
Pointer to read from.
Item size in bytes.
Maximum number of items to be read.
Handle/stream to read from.
Number of full items actually read,
which may be less than count if an error occurs or
if the end of the file is encountered before reaching count.
Delegate to the C++ function fwrite.
Pointer to data to be written.
Item size in bytes.
Maximum number of items to be written.
Handle/stream to write to.
Number of full items actually written,
which may be less than count if an error occurs.
Also, if an error occurs, the file-position indicator cannot be determined.
Delegate to the C++ function fseek.
Handle/stream to seek in.
Number of bytes from origin.
Initial position.
If successful 0 is returned; otherwise a nonzero value.
Delegate to the C++ function ftell.
Handle/stream to retrieve its currents position from.
The current position.
Delegate to a function that returns a string which describes
the plugins format.
Delegate to a function that returns a string which contains
a more detailed description.
Delegate to a function that returns a comma seperated list
of file extensions the plugin can read or write.
Delegate to a function that returns a regular expression that
can be used to idientify whether a file can be handled by the plugin.
Delegate to a function that opens a file.
Delegate to a function that closes a previosly opened file.
Delegate to a function that returns the number of pages of a multipage
bitmap if the plugin is capable of handling multipage bitmaps.
UNKNOWN
Delegate to a function that loads and decodes a bitmap into memory.
Delegate to a function that saves a bitmap.
Delegate to a function that determines whether the source defined
by and is a valid image.
Delegate to a function that returns a string which contains
the plugin's mime type.
Delegate to a function that returns whether the plugin can handle the
specified color depth.
Delegate to a function that returns whether the plugin can handle the
specified image type.
Delegate to a function that returns whether the plugin can handle
ICC-Profiles.
Callback function used by FreeImage to register plugins.
Static class importing functions from the FreeImage library
and providing additional functions.
Filename of the FreeImage library.
Number of bytes to shift left within a 4 byte block.
Number of bytes to shift left within a 4 byte block.
Number of bytes to shift left within a 4 byte block.
Number of bytes to shift left within a 4 byte block.
Mask indicating the position of the given color.
Mask indicating the position of the given color.
Mask indicating the position of the given color.
Mask indicating the position of the given color.
Number of bits to shift left within a 32 bit block.
Number of bits to shift left within a 32 bit block.
Number of bits to shift left within a 32 bit block.
Number of bits to shift left within a 32 bit block.
Mask indicating the position of color components of a 32 bit color.
Mask indicating the position of the given color.
Mask indicating the position of the given color.
Mask indicating the position of the given color.
Number of bits to shift left within a 16 bit block.
Number of bits to shift left within a 16 bit block.
Number of bits to shift left within a 16 bit block.
Mask indicating the position of the given color.
Mask indicating the position of the given color.
Mask indicating the position of the given color.
Number of bits to shift left within a 16 bit block.
Number of bits to shift left within a 16 bit block.
Number of bits to shift left within a 16 bit block.
An uncompressed format.
A run-length encoded (RLE) format for bitmaps with 8 bpp. The compression format is a 2-byte
format consisting of a count byte followed by a byte containing a color index.
An RLE format for bitmaps with 4 bpp. The compression format is a 2-byte format consisting
of a count byte followed by two word-length color indexes.
Specifies that the bitmap is not compressed and that the color table consists of three
DWORD color masks that specify the red, green, and blue components, respectively,
of each pixel. This is valid when used with 16- and 32-bpp bitmaps.
Windows 98/Me, Windows 2000/XP: Indicates that the image is a JPEG image.
Windows 98/Me, Windows 2000/XP: Indicates that the image is a PNG image.
Initialises the library.
When the is true, FreeImage won't make use of external plugins.
Deinitialises the library.
Returns a string containing the current version of the library.
The current version of the library.
Returns a string containing a standard copyright message.
A standard copyright message.
Calls the set error message function in FreeImage.
Format of the bitmaps.
The error message.
You use the function FreeImage_SetOutputMessage to capture the log string
so that you can show it to the user of the program.
The callback is implemented in the event of this class.
The function is private because FreeImage can only have a single
callback function. To use the callback use the
event of this class.
Handler to the callback function.
Creates a new bitmap in memory.
Width of the new bitmap.
Height of the new bitmap.
Bit depth of the new Bitmap.
Supported pixel depth: 1-, 4-, 8-, 16-, 24-, 32-bit per pixel for standard bitmap
Red part of the color layout.
eg: 0xFF0000
Green part of the color layout.
eg: 0x00FF00
Blue part of the color layout.
eg: 0x0000FF
Handle to a FreeImage bitmap.
Creates a new bitmap in memory.
Type of the image.
Width of the new bitmap.
Height of the new bitmap.
Bit depth of the new Bitmap.
Supported pixel depth: 1-, 4-, 8-, 16-, 24-, 32-bit per pixel for standard bitmap
Red part of the color layout.
eg: 0xFF0000
Green part of the color layout.
eg: 0x00FF00
Blue part of the color layout.
eg: 0x0000FF
Handle to a FreeImage bitmap.
Makes an exact reproduction of an existing bitmap, including metadata and attached profile if any.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
Deletes a previously loaded FIBITMAP from memory.
Handle to a FreeImage bitmap.
Decodes a bitmap, allocates memory for it and returns it as a FIBITMAP.
Type of the bitmap.
Name of the file to decode.
Flags to enable or disable plugin-features.
Handle to a FreeImage bitmap.
Decodes a bitmap, allocates memory for it and returns it as a FIBITMAP.
The filename supports UNICODE.
Type of the bitmap.
Name of the file to decode.
Flags to enable or disable plugin-features.
Handle to a FreeImage bitmap.
Loads a bitmap from an arbitrary source.
Type of the bitmap.
A FreeImageIO structure with functionpointers to handle the source.
A handle to the source.
Flags to enable or disable plugin-features.
Handle to a FreeImage bitmap.
Saves a previosly loaded FIBITMAP to a file.
Type of the bitmap.
Handle to a FreeImage bitmap.
Name of the file to save to.
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
Saves a previosly loaded FIBITMAP to a file.
The filename supports UNICODE.
Type of the bitmap.
Handle to a FreeImage bitmap.
Name of the file to save to.
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
Saves a bitmap to an arbitrary source.
Type of the bitmap.
Handle to a FreeImage bitmap.
A FreeImageIO structure with functionpointers to handle the source.
A handle to the source.
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
Open a memory stream.
Pointer to the data in memory.
Length of the data in byte.
Handle to a memory stream.
Close and free a memory stream.
Handle to a memory stream.
Decodes a bitmap from a stream, allocates memory for it and returns it as a FIBITMAP.
Type of the bitmap.
Handle to a memory stream.
Flags to enable or disable plugin-features.
Handle to a FreeImage bitmap.
Saves a previosly loaded FIBITMAP to a stream.
Type of the bitmap.
Handle to a FreeImage bitmap.
Handle to a memory stream.
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
Gets the current position of a memory handle.
Handle to a memory stream.
The current file position if successful, -1 otherwise.
Moves the memory handle to a specified location.
Handle to a memory stream.
Number of bytes from origin.
Initial position.
Returns true on success, false on failure.
Provides a direct buffer access to a memory stream.
The target memory stream.
Pointer to the data in memory.
Size of the data in bytes.
Returns true on success, false on failure.
Reads data from a memory stream.
The buffer to store the data in.
Size in bytes of the items.
Number of items to read.
The stream to read from.
The memory pointer associated with stream is increased by the number of bytes actually read.
The number of full items actually read.
May be less than count on error or stream-end.
Writes data to a memory stream.
The buffer to read the data from.
Size in bytes of the items.
Number of items to write.
The stream to write to.
The memory pointer associated with stream is increased by the number of bytes actually written.
The number of full items actually written.
May be less than count on error or stream-end.
Open a multi-page bitmap from a memory stream.
Type of the bitmap.
The stream to decode.
Flags to enable or disable plugin-features.
Handle to a FreeImage multi-paged bitmap.
Registers a new plugin to be used in FreeImage.
Pointer to the function that initialises the plugin.
A string describing the format of the plugin.
A string describing the plugin.
A string witha comma sperated list of extensions. f.e: "pl,pl2,pl4"
A regular expression used to identify the bitmap.
The format idientifier assigned by FreeImage.
Registers a new plugin to be used in FreeImage. The plugin is residing in a DLL.
The Init function must be called “Init” and must use the stdcall calling convention.
Complete path to the dll file hosting the plugin.
A string describing the format of the plugin.
A string describing the plugin.
A string witha comma sperated list of extensions. f.e: "pl,pl2,pl4"
A regular expression used to identify the bitmap.
The format idientifier assigned by FreeImage.
Retrieves the number of FREE_IMAGE_FORMAT identifiers being currently registered.
The number of registered formats.
Enables or disables a plugin.
The plugin to enable or disable.
True: enable the plugin. false: disable the plugin.
The previous state of the plugin.
1 - enabled. 0 - disables. -1 plugin does not exist.
Retrieves the state of a plugin.
The plugin to check.
1 - enabled. 0 - disables. -1 plugin does not exist.
Returns a identifier from the format string that was used to register the FIF.
The string that was used to register the plugin.
A identifier from the format.
Returns a identifier from a MIME content type string
(MIME stands for Multipurpose Internet Mail Extension).
A MIME content type.
A identifier from the MIME.
Returns the string that was used to register a plugin from the system assigned .
The assigned .
The string that was used to register the plugin.
Returns a comma-delimited file extension list describing the bitmap formats the given plugin can read and/or write.
The desired .
A comma-delimited file extension list.
Returns a descriptive string that describes the bitmap formats the given plugin can read and/or write.
The desired .
A descriptive string that describes the bitmap formats.
Returns a regular expression string that can be used by a regular expression engine to identify the bitmap.
FreeImageQt makes use of this function.
The desired .
A regular expression string.
Given a identifier, returns a MIME content type string (MIME stands for Multipurpose Internet Mail Extension).
The desired .
A MIME content type string.
This function takes a filename or a file-extension and returns the plugin that can
read/write files with that extension in the form of a identifier.
The filename or -extension.
The of the plugin.
This function takes a filename or a file-extension and returns the plugin that can
read/write files with that extension in the form of a identifier.
Supports UNICODE filenames.
The filename or -extension.
The of the plugin.
Checks if a plugin can load bitmaps.
The of the plugin.
True if the plugin can load bitmaps, else false.
Checks if a plugin can save bitmaps.
The of the plugin.
True if the plugin can save bitmaps, else false.
Checks if a plugin can save bitmaps in the desired bit depth.
The of the plugin.
The desired bit depth.
True if the plugin can save bitmaps in the desired bit depth, else false.
Checks if a plugin can save a bitmap in the desired data type.
The of the plugin.
The desired image type.
True if the plugin can save bitmaps as the desired type, else false.
Checks if a plugin can load or save an ICC profile.
The of the plugin.
True if the plugin can load or save an ICC profile, else false.
Loads a FreeImage multi-paged bitmap.
Load flags can be provided by the flags parameter.
Format of the image.
The complete name of the file to load.
When true a new bitmap is created.
When true the bitmap will be loaded read only.
When true performance is increased at the cost of memory.
Flags to enable or disable plugin-features.
Handle to a FreeImage multi-paged bitmap.
Loads a FreeImage multi-pages bitmap from the specified handle
using the specified functions.
Load flags can be provided by the flags parameter.
Format of the image.
IO functions used to read from the specified handle.
The handle to load the bitmap from.
Flags to enable or disable plugin-features.
Handle to a FreeImage multi-paged bitmap.
Closes a previously opened multi-page bitmap and, when the bitmap was not opened read-only, applies any changes made to it.
Handle to a FreeImage multi-paged bitmap.
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
Returns the number of pages currently available in the multi-paged bitmap.
Handle to a FreeImage multi-paged bitmap.
Number of pages.
Appends a new page to the end of the bitmap.
Handle to a FreeImage multi-paged bitmap.
Handle to a FreeImage bitmap.
Inserts a new page before the given position in the bitmap.
Handle to a FreeImage multi-paged bitmap.
Page has to be a number smaller than the current number of pages available in the bitmap.
Handle to a FreeImage bitmap.
Deletes the page on the given position.
Handle to a FreeImage multi-paged bitmap.
Number of the page to delete.
Locks a page in memory for editing.
Handle to a FreeImage multi-paged bitmap.
Number of the page to lock.
Handle to a FreeImage bitmap.
Unlocks a previously locked page and gives it back to the multi-page engine.
Handle to a FreeImage multi-paged bitmap.
Handle to a FreeImage bitmap.
If true, the page is applied to the multi-page bitmap.
Moves the source page to the position of the target page.
Handle to a FreeImage multi-paged bitmap.
New position of the page.
Old position of the page.
Returns true on success, false on failure.
Returns an array of page-numbers that are currently locked in memory.
When the pages parameter is null, the size of the array is returned in the count variable.
int[] lockedPages = null;
int count = 0;
GetLockedPageNumbers(dib, lockedPages, ref count);
lockedPages = new int[count];
GetLockedPageNumbers(dib, lockedPages, ref count);
Handle to a FreeImage multi-paged bitmap.
The list of locked pages in the multi-pages bitmap.
If set to null, count will contain the number of pages.
If is set to null count will contain the number of locked pages.
Returns true on success, false on failure.
Orders FreeImage to analyze the bitmap signature.
Name of the file to analyze.
Reserved parameter - use 0.
Type of the bitmap.
Orders FreeImage to analyze the bitmap signature.
Supports UNICODE filenames.
Name of the file to analyze.
Reserved parameter - use 0.
Type of the bitmap.
Uses the structure as described in the topic bitmap management functions
to identify a bitmap type.
A structure with functionpointers to handle the source.
A handle to the source.
Size in bytes of the source.
Type of the bitmap.
Uses a memory handle to identify a bitmap type.
Pointer to the stream.
Size in bytes of the source.
Type of the bitmap.
Returns whether the platform is using Little Endian.
Returns true if the platform is using Litte Endian, else false.
Converts a X11 color name into a corresponding RGB value.
Name of the color to convert.
Red component.
Green component.
Blue component.
Returns true on success, false on failure.
Converts a SVG color name into a corresponding RGB value.
Name of the color to convert.
Red component.
Green component.
Blue component.
Returns true on success, false on failure.
Returns a pointer to the data-bits of the bitmap.
Handle to a FreeImage bitmap.
Pointer to the data-bits.
Returns a pointer to the start of the given scanline in the bitmap's data-bits.
Handle to a FreeImage bitmap.
Number of the scanline.
Pointer to the scanline.
Get the pixel index of a palettized image at position (x, y), including range check (slow access).
Handle to a FreeImage bitmap.
Pixel position in horizontal direction.
Pixel position in vertical direction.
The pixel index.
Returns true on success, false on failure.
Get the pixel color of a 16-, 24- or 32-bit image at position (x, y), including range check (slow access).
Handle to a FreeImage bitmap.
Pixel position in horizontal direction.
Pixel position in vertical direction.
The pixel color.
Returns true on success, false on failure.
Set the pixel index of a palettized image at position (x, y), including range check (slow access).
Handle to a FreeImage bitmap.
Pixel position in horizontal direction.
Pixel position in vertical direction.
The new pixel index.
Returns true on success, false on failure.
Set the pixel color of a 16-, 24- or 32-bit image at position (x, y), including range check (slow access).
Handle to a FreeImage bitmap.
Pixel position in horizontal direction.
Pixel position in vertical direction.
The new pixel color.
Returns true on success, false on failure.
Retrieves the type of the bitmap.
Handle to a FreeImage bitmap.
Type of the bitmap.
Returns the number of colors used in a bitmap.
Handle to a FreeImage bitmap.
Palette-size for palletised bitmaps, and 0 for high-colour bitmaps.
Returns the size of one pixel in the bitmap in bits.
Handle to a FreeImage bitmap.
Size of one pixel in the bitmap in bits.
Returns the width of the bitmap in pixel units.
Handle to a FreeImage bitmap.
With of the bitmap.
Returns the height of the bitmap in pixel units.
Handle to a FreeImage bitmap.
Height of the bitmap.
Returns the width of the bitmap in bytes.
Handle to a FreeImage bitmap.
With of the bitmap in bytes.
Returns the width of the bitmap in bytes, rounded to the next 32-bit boundary,
also known as pitch or stride or scan width.
Handle to a FreeImage bitmap.
With of the bitmap in bytes.
Returns the size of the DIB-element of a FIBITMAP in memory.
Handle to a FreeImage bitmap.
Size of the DIB-element
Returns a pointer to the bitmap's palette.
Handle to a FreeImage bitmap.
Pointer to the bitmap's palette.
Returns the horizontal resolution, in pixels-per-meter, of the target device for the bitmap.
Handle to a FreeImage bitmap.
The horizontal resolution, in pixels-per-meter.
Returns the vertical resolution, in pixels-per-meter, of the target device for the bitmap.
Handle to a FreeImage bitmap.
The vertical resolution, in pixels-per-meter.
Set the horizontal resolution, in pixels-per-meter, of the target device for the bitmap.
Handle to a FreeImage bitmap.
The new horizontal resolution.
Set the vertical resolution, in pixels-per-meter, of the target device for the bitmap.
Handle to a FreeImage bitmap.
The new vertical resolution.
Returns a pointer to the of the DIB-element in a FIBITMAP.
Handle to a FreeImage bitmap.
Poiter to the header of the bitmap.
Alias for FreeImage_GetInfoHeader that returns a pointer to a
rather than to a .
Handle to a FreeImage bitmap.
Pointer to the structure for the bitmap.
Investigates the color type of the bitmap by reading the bitmap's pixel bits and analysing them.
Handle to a FreeImage bitmap.
The color type of the bitmap.
Returns a bit pattern describing the red color component of a pixel in a FreeImage bitmap.
Handle to a FreeImage bitmap.
The bit pattern for RED.
Returns a bit pattern describing the green color component of a pixel in a FreeImage bitmap.
Handle to a FreeImage bitmap.
The bit pattern for green.
Returns a bit pattern describing the blue color component of a pixel in a FreeImage bitmap.
Handle to a FreeImage bitmap.
The bit pattern for blue.
Returns the number of transparent colors in a palletised bitmap.
Handle to a FreeImage bitmap.
The number of transparent colors in a palletised bitmap.
Returns a pointer to the bitmap's transparency table.
Handle to a FreeImage bitmap.
Pointer to the bitmap's transparency table.
Tells FreeImage if it should make use of the transparency table
or the alpha channel that may accompany a bitmap.
Handle to a FreeImage bitmap.
True to enable the transparency, false to disable.
Set the bitmap's transparency table. Only affects palletised bitmaps.
Handle to a FreeImage bitmap.
Pointer to the bitmap's new transparency table.
The number of transparent colors in the new transparency table.
Returns whether the transparency table is enabled.
Handle to a FreeImage bitmap.
Returns true when the transparency table is enabled (1-, 4- or 8-bit images)
or when the input dib contains alpha values (32-bit images). Returns false otherwise.
Returns whether the bitmap has a file background color.
Handle to a FreeImage bitmap.
Returns true when the image has a file background color, false otherwise.
Returns the file background color of an image.
For 8-bit images, the color index in the palette is returned in the
rgbReserved member of the bkcolor parameter.
Handle to a FreeImage bitmap.
The background color.
Returns true on success, false on failure.
Set the file background color of an image.
When saving an image to PNG, this background color is transparently saved to the PNG file.
Handle to a FreeImage bitmap.
The new background color.
Returns true on success, false on failure.
Set the file background color of an image.
When saving an image to PNG, this background color is transparently saved to the PNG file.
When the bkcolor parameter is null, the background color is removed from the image.
This overloaded version of the function with an array parameter is provided to allow
passing null in the parameter. This is similar to the
original C/C++ function. Passing null as parameter will
unset the dib's previously set background color.
Handle to a FreeImage bitmap.
The new background color.
The first entry in the array is used.
Returns true on success, false on failure.
// create a RGBQUAD color
RGBQUAD color = new RGBQUAD(Color.Green);
// set the dib's background color (using the other version of the function)
FreeImage.SetBackgroundColor(dib, ref color);
// remove it again (this only works due to the array parameter RGBQUAD[])
FreeImage.SetBackgroundColor(dib, null);
Sets the index of the palette entry to be used as transparent color
for the image specified. Does nothing on high color images.
Handle to a FreeImage bitmap.
The index of the palette entry to be set as transparent color.
Returns the palette entry used as transparent color for the image specified.
Works for palletised images only and returns -1 for high color
images or if the image has no color set to be transparent.
Handle to a FreeImage bitmap.
the index of the palette entry used as transparent color for
the image specified or -1 if there is no transparent color found
(e.g. the image is a high color image).
Retrieves the data of the bitmap.
This function can also be called safely, when the original format does not support profiles.
Handle to a FreeImage bitmap.
The data of the bitmap.
Retrieves a pointer to the data of the bitmap.
This function can also be called safely, when the original format does not support profiles.
Handle to a FreeImage bitmap.
Pointer to the data of the bitmap.
Creates a new block from ICC profile data previously read from a file
or built by a color management system. The profile data is attached to the bitmap.
Handle to a FreeImage bitmap.
Pointer to the new data.
Size of the data.
Pointer to the created structure.
This function destroys an previously created by .
After this call the bitmap will contain no profile information.
This function should be called to ensure that a stored bitmap will not contain any profile information.
Handle to a FreeImage bitmap.
Converts a bitmap to 4 bits.
If the bitmap was a high-color bitmap (16, 24 or 32-bit) or if it was a
monochrome or greyscale bitmap (1 or 8-bit), the end result will be a
greyscale bitmap, otherwise (1-bit palletised bitmaps) it will be a palletised bitmap.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
Converts a bitmap to 8 bits. If the bitmap was a high-color bitmap (16, 24 or 32-bit)
or if it was a monochrome or greyscale bitmap (1 or 4-bit), the end result will be a
greyscale bitmap, otherwise (1 or 4-bit palletised bitmaps) it will be a palletised bitmap.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
Converts a bitmap to a 8-bit greyscale image with a linear ramp.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
Converts a bitmap to 16 bits, where each pixel has a color pattern of
5 bits red, 5 bits green and 5 bits blue. One bit in each pixel is unused.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
Converts a bitmap to 16 bits, where each pixel has a color pattern of
5 bits red, 6 bits green and 5 bits blue.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
Converts a bitmap to 24 bits. A clone of the input bitmap is returned for 24-bit bitmaps.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
Converts a bitmap to 32 bits. A clone of the input bitmap is returned for 32-bit bitmaps.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
Quantizes a high-color 24-bit bitmap to an 8-bit palette color bitmap.
Handle to a FreeImage bitmap.
Specifies the color reduction algorithm to be used.
Handle to a FreeImage bitmap.
ColorQuantizeEx is an extension to the method that
provides additional options used to quantize a 24-bit image to any
number of colors (up to 256), as well as quantize a 24-bit image using a
partial or full provided palette.
Handle to a FreeImage bitmap.
Specifies the color reduction algorithm to be used.
Size of the desired output palette.
Size of the provided palette of ReservePalette.
The provided palette.
Handle to a FreeImage bitmap.
Converts a bitmap to 1-bit monochrome bitmap using a threshold T between [0..255].
The function first converts the bitmap to a 8-bit greyscale bitmap.
Then, any brightness level that is less than T is set to zero, otherwise to 1.
For 1-bit input bitmaps, the function clones the input bitmap and builds a monochrome palette.
Handle to a FreeImage bitmap.
The threshold.
Handle to a FreeImage bitmap.
Converts a bitmap to 1-bit monochrome bitmap using a dithering algorithm.
For 1-bit input bitmaps, the function clones the input bitmap and builds a monochrome palette.
Handle to a FreeImage bitmap.
The dithering algorithm to use.
Handle to a FreeImage bitmap.
Converts a raw bitmap to a FreeImage bitmap.
Pointer to the memory block containing the raw bitmap.
The width in pixels of the raw bitmap.
The height in pixels of the raw bitmap.
Defines the total width of a scanline in the raw bitmap,
including padding bytes.
The bit depth (bits per pixel) of the raw bitmap.
The bit mask describing the bits used to store a single
pixel's red component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The bit mask describing the bits used to store a single
pixel's green component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The bit mask describing the bits used to store a single
pixel's blue component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
If true, the raw bitmap is stored in top-down order (top-left pixel first)
and in bottom-up order (bottom-left pixel first) otherwise.
Handle to a FreeImage bitmap.
Converts a raw bitmap to a FreeImage bitmap.
Array of bytes containing the raw bitmap.
The width in pixels of the raw bitmap.
The height in pixels of the raw bitmap.
Defines the total width of a scanline in the raw bitmap,
including padding bytes.
The bit depth (bits per pixel) of the raw bitmap.
The bit mask describing the bits used to store a single
pixel's red component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The bit mask describing the bits used to store a single
pixel's green component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The bit mask describing the bits used to store a single
pixel's blue component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
If true, the raw bitmap is stored in top-down order (top-left pixel first)
and in bottom-up order (bottom-left pixel first) otherwise.
Handle to a FreeImage bitmap.
Converts a FreeImage bitmap to a raw bitmap, that is a raw piece of memory.
Pointer to the memory block receiving the raw bitmap.
Handle to a FreeImage bitmap.
The desired total width in bytes of a scanline in the raw bitmap,
including any padding bytes.
The desired bit depth (bits per pixel) of the raw bitmap.
The desired bit mask describing the bits used to store a single
pixel's red component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The desired bit mask describing the bits used to store a single
pixel's green component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The desired bit mask describing the bits used to store a single
pixel's blue component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
If true, the raw bitmap will be stored in top-down order (top-left pixel first)
and in bottom-up order (bottom-left pixel first) otherwise.
Converts a FreeImage bitmap to a raw bitmap, that is a raw piece of memory.
Array of bytes receiving the raw bitmap.
Handle to a FreeImage bitmap.
The desired total width in bytes of a scanline in the raw bitmap,
including any padding bytes.
The desired bit depth (bits per pixel) of the raw bitmap.
The desired bit mask describing the bits used to store a single
pixel's red component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The desired bit mask describing the bits used to store a single
pixel's green component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The desired bit mask describing the bits used to store a single
pixel's blue component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
If true, the raw bitmap will be stored in top-down order (top-left pixel first)
and in bottom-up order (bottom-left pixel first) otherwise.
Converts a 24- or 32-bit RGB(A) standard image or a 48-bit RGB image to a FIT_RGBF type image.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
Converts a non standard image whose color type is FIC_MINISBLACK
to a standard 8-bit greyscale image.
Handle to a FreeImage bitmap.
When true the conversion is done by scaling linearly
each pixel value from [min, max] to an integer value between [0..255],
where min and max are the minimum and maximum pixel values in the image.
When false the conversion is done by rounding each pixel value to an integer between [0..255].
Rounding is done using the following formula:
dst_pixel = (BYTE) MIN(255, MAX(0, q)) where int q = int(src_pixel + 0.5);
Handle to a FreeImage bitmap.
Converts an image of any type to type dst_type.
Handle to a FreeImage bitmap.
Destination type.
True to scale linear, else false.
Handle to a FreeImage bitmap.
Converts a High Dynamic Range image (48-bit RGB or 96-bit RGBF) to a 24-bit RGB image, suitable for display.
Handle to a FreeImage bitmap.
The tone mapping operator to be used.
Parmeter depending on the used algorithm
Parmeter depending on the used algorithm
Handle to a FreeImage bitmap.
Converts a High Dynamic Range image to a 24-bit RGB image using a global
operator based on logarithmic compression of luminance values, imitating the human response to light.
Handle to a FreeImage bitmap.
A gamma correction that is applied after the tone mapping.
A value of 1 means no correction.
Scale factor allowing to adjust the brightness of the output image.
Handle to a FreeImage bitmap.
Converts a High Dynamic Range image to a 24-bit RGB image using a global operator inspired
by photoreceptor physiology of the human visual system.
Handle to a FreeImage bitmap.
Controls the overall image intensity in the range [-8, 8].
Controls the overall image contrast in the range [0.3, 1.0[.
Handle to a FreeImage bitmap.
Apply the Gradient Domain High Dynamic Range Compression to a RGBF image and convert to 24-bit RGB.
Handle to a FreeImage bitmap.
Color saturation (s parameter in the paper) in [0.4..0.6]
Atenuation factor (beta parameter in the paper) in [0.8..0.9]
Handle to a FreeImage bitmap.
Compresses a source buffer into a target buffer, using the ZLib library.
Pointer to the target buffer.
Size of the target buffer.
Must be at least 0.1% larger than source_size plus 12 bytes.
Pointer to the source buffer.
Size of the source buffer.
The actual size of the compressed buffer, or 0 if an error occurred.
Decompresses a source buffer into a target buffer, using the ZLib library.
Pointer to the target buffer.
Size of the target buffer.
Must have been saved outlide of zlib.
Pointer to the source buffer.
Size of the source buffer.
The actual size of the uncompressed buffer, or 0 if an error occurred.
Compresses a source buffer into a target buffer, using the ZLib library.
Pointer to the target buffer.
Size of the target buffer.
Must be at least 0.1% larger than source_size plus 24 bytes.
Pointer to the source buffer.
Size of the source buffer.
The actual size of the compressed buffer, or 0 if an error occurred.
Decompresses a source buffer into a target buffer, using the ZLib library.
Pointer to the target buffer.
Size of the target buffer.
Must have been saved outlide of zlib.
Pointer to the source buffer.
Size of the source buffer.
The actual size of the uncompressed buffer, or 0 if an error occurred.
Generates a CRC32 checksum.
The CRC32 checksum to begin with.
Pointer to the source buffer.
If the value is 0, the function returns the required initial value for the crc.
Size of the source buffer.
Allocates a new object.
This object must be destroyed with a call to
when no longer in use.
The new .
Delete a previously allocated object.
The to destroy.
Creates and returns a copy of a object.
The to clone.
The new .
Returns the tag field name (unique inside a metadata model).
The tag field.
The field name.
Returns the tag description.
The tag field.
The description or NULL if unavailable.
Returns the tag ID.
The tag field.
The ID or 0 if unavailable.
Returns the tag data type.
The tag field.
The tag type.
Returns the number of components in the tag (in tag type units).
The tag field.
The number of components.
Returns the length of the tag value in bytes.
The tag field.
The length of the tag value.
Returns the tag value.
It is up to the programmer to interpret the returned pointer correctly,
according to the results of GetTagType and GetTagCount.
The tag field.
Pointer to the value.
Sets the tag field name.
The tag field.
The new name.
Returns true on success, false on failure.
Sets the tag description.
The tag field.
The new description.
Returns true on success, false on failure.
Sets the tag ID.
The tag field.
The new ID.
Returns true on success, false on failure.
Sets the tag data type.
The tag field.
The new type.
Returns true on success, false on failure.
Sets the number of data in the tag.
The tag field.
New number of data.
Returns true on success, false on failure.
Sets the length of the tag value in bytes.
The tag field.
The new length.
Returns true on success, false on failure.
Sets the tag value.
The tag field.
Pointer to the new value.
Returns true on success, false on failure.
Provides information about the first instance of a tag that matches the metadata model.
The model to match.
Handle to a FreeImage bitmap.
Tag that matches the metadata model.
Unique search handle that can be used to call FindNextMetadata or FindCloseMetadata.
Null if the metadata model does not exist.
Find the next tag, if any, that matches the metadata model argument in a previous call
to FindFirstMetadata, and then alters the tag object contents accordingly.
Unique search handle provided by FindFirstMetadata.
Tag that matches the metadata model.
Returns true on success, false on failure.
Closes the specified metadata search handle and releases associated resources.
The handle to close.
Retrieve a metadata attached to a dib.
The metadata model to look for.
Handle to a FreeImage bitmap.
The metadata field name.
A FITAG structure returned by the function.
Returns true on success, false on failure.
Attach a new FreeImage tag to a dib.
The metadata model used to store the tag.
Handle to a FreeImage bitmap.
The tag field name.
The FreeImage tag to be attached.
Returns true on success, false on failure.
Returns the number of tags contained in the model metadata model attached to the input dib.
The metadata model.
Handle to a FreeImage bitmap.
Number of tags contained in the metadata model.
Copies the metadata of FreeImage bitmap to another.
The FreeImage bitmap to copy the metadata to.
The FreeImage bitmap to copy the metadata from.
Returns true on success, false on failure.
Converts a FreeImage tag structure to a string that represents the interpreted tag value.
The function is not thread safe.
The metadata model.
The interpreted tag value.
Reserved.
The representing string.
This function rotates a 1-, 8-bit greyscale or a 24-, 32-bit color image by means of 3 shears.
1-bit images rotation is limited to integer multiple of 90°.
null is returned for other values.
Handle to a FreeImage bitmap.
The angle of rotation.
Handle to a FreeImage bitmap.
This function performs a rotation and / or translation of an 8-bit greyscale,
24- or 32-bit image, using a 3rd order (cubic) B-Spline.
Handle to a FreeImage bitmap.
The angle of rotation.
Horizontal image translation.
Vertical image translation.
Rotation center x-coordinate.
Rotation center y-coordinate.
When true the irrelevant part of the image is set to a black color,
otherwise, a mirroring technique is used to fill irrelevant pixels.
Handle to a FreeImage bitmap.
Flip the input dib horizontally along the vertical axis.
Handle to a FreeImage bitmap.
Returns true on success, false on failure.
Flip the input dib vertically along the horizontal axis.
Handle to a FreeImage bitmap.
Returns true on success, false on failure.
Performs a lossless rotation or flipping on a JPEG file.
Source file.
Destination file; can be the source file; will be overwritten.
The operation to apply.
To avoid lossy transformation, you can set the perfect parameter to true.
Returns true on success, false on failure.
Performs resampling (or scaling, zooming) of a greyscale or RGB(A) image
to the desired destination width and height.
Handle to a FreeImage bitmap.
Destination width.
Destination height.
The filter to apply.
Handle to a FreeImage bitmap.
Creates a thumbnail from a greyscale or RGB(A) image, keeping aspect ratio.
Handle to a FreeImage bitmap.
Thumbnail square size.
When true HDR images are transperantly converted to standard images.
Handle to a FreeImage bitmap.
Perfoms an histogram transformation on a 8-, 24- or 32-bit image.
Handle to a FreeImage bitmap.
The lookup table.
It's size is assumed to be 256 in length.
The color channel to be transformed.
Returns true on success, false on failure.
Performs gamma correction on a 8-, 24- or 32-bit image.
Handle to a FreeImage bitmap.
The parameter represents the gamma value to use (gamma > 0).
A value of 1.0 leaves the image alone, less than one darkens it, and greater than one lightens it.
Returns true on success, false on failure.
Adjusts the brightness of a 8-, 24- or 32-bit image by a certain amount.
Handle to a FreeImage bitmap.
A value 0 means no change,
less than 0 will make the image darker and greater than 0 will make the image brighter.
Returns true on success, false on failure.
Adjusts the contrast of a 8-, 24- or 32-bit image by a certain amount.
Handle to a FreeImage bitmap.
A value 0 means no change,
less than 0 will decrease the contrast and greater than 0 will increase the contrast of the image.
Returns true on success, false on failure.
Inverts each pixel data.
Handle to a FreeImage bitmap.
Returns true on success, false on failure.
Computes the image histogram.
Handle to a FreeImage bitmap.
Array of integers with a size of 256.
Channel to compute from.
Returns true on success, false on failure.
Retrieves the red, green, blue or alpha channel of a 24- or 32-bit image.
Handle to a FreeImage bitmap.
The color channel to extract.
Handle to a FreeImage bitmap.
Insert a 8-bit dib into a 24- or 32-bit image.
Both images must have to same width and height.
Handle to a FreeImage bitmap.
Handle to the bitmap to insert.
The color channel to replace.
Returns true on success, false on failure.
Retrieves the real part, imaginary part, magnitude or phase of a complex image.
Handle to a FreeImage bitmap.
The color channel to extract.
Handle to a FreeImage bitmap.
Set the real or imaginary part of a complex image.
Both images must have to same width and height.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
The color channel to replace.
Returns true on success, false on failure.
Copy a sub part of the current dib image.
Handle to a FreeImage bitmap.
Specifies the left position of the cropped rectangle.
Specifies the top position of the cropped rectangle.
Specifies the right position of the cropped rectangle.
Specifies the bottom position of the cropped rectangle.
Handle to a FreeImage bitmap.
Alpha blend or combine a sub part image with the current dib image.
The bit depth of the dst bitmap must be greater than or equal to the bit depth of the src.
Handle to a FreeImage bitmap.
Handle to a FreeImage bitmap.
Specifies the left position of the sub image.
Specifies the top position of the sub image.
alpha blend factor.
The source and destination images are alpha blended if alpha=0..255.
If alpha > 255, then the source image is combined to the destination image.
Returns true on success, false on failure.
This function composite a transparent foreground image against a single background color or
against a background image.
Handle to a FreeImage bitmap.
When true the background of fg is used if it contains one.
The application background is used if useFileBkg is false.
Image used as background when useFileBkg is false or fg has no background
and appBkColor is null.
Handle to a FreeImage bitmap.
This function composite a transparent foreground image against a single background color or
against a background image.
Handle to a FreeImage bitmap.
When true the background of fg is used if it contains one.
The application background is used if useFileBkg is false
and 'appBkColor' is not null.
Image used as background when useFileBkg is false or fg has no background
and appBkColor is null.
Handle to a FreeImage bitmap.
Performs a lossless crop on a JPEG file.
Source filename.
Destination filename.
Specifies the left position of the cropped rectangle.
Specifies the top position of the cropped rectangle.
Specifies the right position of the cropped rectangle.
Specifies the bottom position of the cropped rectangle.
Returns true on success, false on failure.
Applies the alpha value of each pixel to its color components.
The aplha value stays unchanged.
Only works with 32-bits color depth.
Handle to a FreeImage bitmap.
Returns true on success, false on failure.
Solves a Poisson equation, remap result pixels to [0..1] and returns the solution.
Handle to a FreeImage bitmap.
Number of cycles in the multigrid algorithm (usually 2 or 3)
Handle to a FreeImage bitmap.
Creates a lookup table to be used with which may adjusts brightness and
contrast, correct gamma and invert the image with a single call to .
Output lookup table to be used with .
The size of 'lookUpTable' is assumed to be 256.
Percentage brightness value where -100 <= brightness <= 100.
A value of 0 means no change, less than 0 will make the image darker and greater
than 0 will make the image brighter.
Percentage contrast value where -100 <= contrast <= 100.
A value of 0 means no change, less than 0 will decrease the contrast
and greater than 0 will increase the contrast of the image.
Gamma value to be used for gamma correction.
A value of 1.0 leaves the image alone, less than one darkens it,
and greater than one lightens it.
If set to true, the image will be inverted.
The number of adjustments applied to the resulting lookup table
compared to a blind lookup table.
This function creates a lookup table to be used with which may adjust
brightness and contrast, correct gamma and invert the image with a single call to
. If more than one of these image display properties need to be adjusted,
using a combined lookup table should be preferred over calling each adjustment function
separately. That's particularly true for huge images or if performance is an issue. Then,
the expensive process of iterating over all pixels of an image is performed only once and
not up to four times.
Furthermore, the lookup table created does not depend on the order, in which each single
adjustment operation is performed. Due to rounding and byte casting issues, it actually
matters in which order individual adjustment operations are performed. Both of the following
snippets most likely produce different results:
// snippet 1: contrast, brightness
AdjustContrast(dib, 15.0);
AdjustBrightness(dib, 50.0);
// snippet 2: brightness, contrast
AdjustBrightness(dib, 50.0);
AdjustContrast(dib, 15.0);
Better and even faster would be snippet 3:
// snippet 3:
byte[] lut = new byte[256];
GetAdjustColorsLookupTable(lut, 50.0, 15.0, 1.0, false);
AdjustCurve(dib, lut, FREE_IMAGE_COLOR_CHANNEL.FICC_RGB);
This function is also used internally by , which does not return the
lookup table, but uses it to call on the passed image.
Adjusts an image's brightness, contrast and gamma as well as it may
optionally invert the image within a single operation.
Handle to a FreeImage bitmap.
Percentage brightness value where -100 <= brightness <= 100.
A value of 0 means no change, less than 0 will make the image darker and greater
than 0 will make the image brighter.
Percentage contrast value where -100 <= contrast <= 100.
A value of 0 means no change, less than 0 will decrease the contrast
and greater than 0 will increase the contrast of the image.
Gamma value to be used for gamma correction.
A value of 1.0 leaves the image alone, less than one darkens it,
and greater than one lightens it.
This parameter must not be zero or smaller than zero.
If so, it will be ignored and no gamma correction will be performed on the image.
If set to true, the image will be inverted.
Returns true on success, false on failure.
This function adjusts an image's brightness, contrast and gamma as well as it
may optionally invert the image within a single operation. If more than one of
these image display properties need to be adjusted, using this function should
be preferred over calling each adjustment function separately. That's particularly
true for huge images or if performance is an issue.
This function relies on ,
which creates a single lookup table, that combines all adjustment operations requested.
Furthermore, the lookup table created by does
not depend on the order, in which each single adjustment operation is performed.
Due to rounding and byte casting issues, it actually matters in which order individual
adjustment operations are performed. Both of the following snippets most likely produce
different results:
// snippet 1: contrast, brightness
AdjustContrast(dib, 15.0);
AdjustBrightness(dib, 50.0);
// snippet 2: brightness, contrast
AdjustBrightness(dib, 50.0);
AdjustContrast(dib, 15.0);
Better and even faster would be snippet 3:
// snippet 3:
AdjustColors(dib, 50.0, 15.0, 1.0, false);
Applies color mapping for one or several colors on a 1-, 4- or 8-bit
palletized or a 16-, 24- or 32-bit high color image.
Handle to a FreeImage bitmap.
Array of colors to be used as the mapping source.
Array of colors to be used as the mapping destination.
The number of colors to be mapped. This is the size of both
srccolors and dstcolors.
If true, 32-bit images and colors are treated as 24-bit.
If true, source and destination colors are swapped, that is,
each destination color is also mapped to the corresponding source color.
The total number of pixels changed.
This function maps up to colors specified in
to these specified in .
Thereby, color srccolors[N], if found in the image, will be replaced by color
dstcolors[N]. If is true, additionally all colors
specified in are also mapped to these specified
in . For high color images, the actual image data will be
modified whereas, for palletized images only the palette will be changed.
The function returns the number of pixels changed or zero, if no pixels were changed.
Both arrays and are assumed
not to hold less than colors.
For 16-bit images, all colors specified are transparently converted to their
proper 16-bit representation (either in RGB555 or RGB565 format, which is determined
by the image's red- green- and blue-mask).
Note, that this behaviour is different from what does,
which modifies the actual image data on palletized images.
Swaps two specified colors on a 1-, 4- or 8-bit palletized
or a 16-, 24- or 32-bit high color image.
Handle to a FreeImage bitmap.
One of the two colors to be swapped.
The other of the two colors to be swapped.
If true, 32-bit images and colors are treated as 24-bit.
The total number of pixels changed.
This function swaps the two specified colors and
on a palletized or high color image.
For high color images, the actual image data will be modified whereas, for palletized
images only the palette will be changed.
Note, that this behaviour is different from what does,
which modifies the actual image data on palletized images.
This is just a thin wrapper for and resolves to:
return ApplyColorMapping(dib, color_a, color_b, 1, ignore_alpha, true);
Applies palette index mapping for one or several indices
on a 1-, 4- or 8-bit palletized image.
Handle to a FreeImage bitmap.
Array of palette indices to be used as the mapping source.
Array of palette indices to be used as the mapping destination.
The number of palette indices to be mapped. This is the size of both
srcindices and dstindices
If true, source and destination palette indices are swapped, that is,
each destination index is also mapped to the corresponding source index.
The total number of pixels changed.
This function maps up to palette indices specified in
to these specified in .
Thereby, index srcindices[N], if present in the image, will be replaced by index
dstindices[N]. If is true, additionally all indices
specified in are also mapped to these specified in
.
The function returns the number of pixels changed or zero, if no pixels were changed.
Both arrays and are assumed not to
hold less than indices.
Note, that this behaviour is different from what does, which
modifies the actual image data on palletized images.
Swaps two specified palette indices on a 1-, 4- or 8-bit palletized image.
Handle to a FreeImage bitmap.
One of the two palette indices to be swapped.
The other of the two palette indices to be swapped.
The total number of pixels changed.
This function swaps the two specified palette indices index_a and
index_b on a palletized image. Therefore, not the palette, but the
actual image data will be modified.
Note, that this behaviour is different from what does on palletized images,
which only swaps the colors in the palette.
This is just a thin wrapper for and resolves to:
return ApplyPaletteIndexMapping(dib, index_a, index_b, 1, true);
Array containing all 'FREE_IMAGE_MDMODEL's.
Stores handles used to read from streams.
Version of the wrapper library.
Returns the internal version of this FreeImage .NET wrapper.
The internal version of this FreeImage .NET wrapper.
Returns the version of the native FreeImage library.
The version of the native FreeImage library.
Returns a value indicating if the FreeImage library is available or not.
See remarks for further details.
false if the file is not available or out of date;
true, otherwise.
The FreeImage.NET library is a wrapper for the native C++ library
(FreeImage.dll ... dont mix ist up with this library FreeImageNet.dll).
The native library must be either in the same folder as the program's
executable or in a folder contained in the envirent variable PATH
(for example %WINDIR%\System32).
Further more must both libraries, including the program itself,
be the same architecture (x86 or x64).
Creates a new bitmap in memory.
Width of the new bitmap.
Height of the new bitmap.
Bit depth of the new Bitmap.
Supported pixel depth: 1-, 4-, 8-, 16-, 24-, 32-bit per pixel for standard bitmap
Handle to a FreeImage bitmap.
Creates a new bitmap in memory.
Type of the image.
Width of the new bitmap.
Height of the new bitmap.
Bit depth of the new Bitmap.
Supported pixel depth: 1-, 4-, 8-, 16-, 24-, 32-bit per pixel for standard bitmap
Handle to a FreeImage bitmap.
Allocates a new image of the specified width, height and bit depth and optionally
fills it with the specified color. See remarks for further details.
Width of the new bitmap.
Height of the new bitmap.
Bit depth of the new bitmap.
Supported pixel depth: 1-, 4-, 8-, 16-, 24-, 32-bit per pixel for standard bitmaps.
The color to fill the bitmap with or null.
Options to enable or disable function-features.
The palette of the bitmap or null.
Handle to a FreeImage bitmap.
This function is an extension to , which additionally supports
specifying a palette to be set for the newly create image, as well as specifying a
background color, the newly created image should initially be filled with.
Basically, this function internally relies on function , followed by a
call to . This is why both parameters
and behave the same as it is
documented for function .
So, please refer to the documentation of to
learn more about parameters and .
The palette specified through parameter is only copied to the
newly created image, if the desired bit depth is smaller than or equal to 8 bits per pixel.
In other words, the parameter is only taken into account for
palletized images. So, for an 8-bit image, the length is 256, for an 4-bit image it is 16
and it is 2 for a 1-bit image. In other words, this function does not support partial palettes.
However, specifying a palette is not necesarily needed, even for palletized images. This
function is capable of implicitly creating a palette, if is null.
If the specified background color is a greyscale value (red = green = blue) or if option
is specified, a greyscale palette
is created. For a 1-bit image, only if the specified background color is either black or white,
a monochrome palette, consisting of black and white only is created. In any case, the darker
colors are stored at the smaller palette indices.
If the specified background color is not a greyscale value, or is neither black nor white
for a 1-bit image, solely this specified color is injected into the otherwise black-initialized
palette. For this operation, option
is implicit, so the specified is applied to the palette entry,
specified by the background color's field.
The image is then filled with this palette index.
This function returns a newly created image as function does, if both
parameters and are null.
If only is null, the palette pointed to by
parameter is initially set for the new image, if a palletized
image of type is created.
However, in the latter case, this function returns an image, whose
pixels are all initialized with zeros so, the image will be filled with the color of the
first palette entry.
Allocates a new image of the specified width, height and bit depth and optionally
fills it with the specified color. See remarks for further details.
Width of the new bitmap.
Height of the new bitmap.
Bit depth of the new bitmap.
Supported pixel depth: 1-, 4-, 8-, 16-, 24-, 32-bit per pixel for standard bitmaps.
The color to fill the bitmap with or null.
Options to enable or disable function-features.
The palette of the bitmap or null.
Red part of the color layout.
eg: 0xFF0000
Green part of the color layout.
eg: 0x00FF00
Blue part of the color layout.
eg: 0x0000FF
Handle to a FreeImage bitmap.
This function is an extension to , which additionally supports
specifying a palette to be set for the newly create image, as well as specifying a
background color, the newly created image should initially be filled with.
Basically, this function internally relies on function , followed by a
call to . This is why both parameters
and behave the same as it is
documented for function .
So, please refer to the documentation of to
learn more about parameters and .
The palette specified through parameter is only copied to the
newly created image, if the desired bit depth is smaller than or equal to 8 bits per pixel.
In other words, the parameter is only taken into account for
palletized images. So, for an 8-bit image, the length is 256, for an 4-bit image it is 16
and it is 2 for a 1-bit image. In other words, this function does not support partial palettes.
However, specifying a palette is not necesarily needed, even for palletized images. This
function is capable of implicitly creating a palette, if is null.
If the specified background color is a greyscale value (red = green = blue) or if option
is specified, a greyscale palette
is created. For a 1-bit image, only if the specified background color is either black or white,
a monochrome palette, consisting of black and white only is created. In any case, the darker
colors are stored at the smaller palette indices.
If the specified background color is not a greyscale value, or is neither black nor white
for a 1-bit image, solely this specified color is injected into the otherwise black-initialized
palette. For this operation, option
is implicit, so the specified is applied to the palette entry,
specified by the background color's field.
The image is then filled with this palette index.
This function returns a newly created image as function does, if both
parameters and are null.
If only is null, the palette pointed to by
parameter is initially set for the new image, if a palletized
image of type is created.
However, in the latter case, this function returns an image, whose
pixels are all initialized with zeros so, the image will be filled with the color of the
first palette entry.
Allocates a new image of the specified type, width, height and bit depth and optionally
fills it with the specified color. See remarks for further details.
The type of the specified color.
Type of the image.
Width of the new bitmap.
Height of the new bitmap.
Bit depth of the new bitmap.
Supported pixel depth: 1-, 4-, 8-, 16-, 24-, 32-bit per pixel for standard bitmap
The color to fill the bitmap with or null.
Options to enable or disable function-features.
The palette of the bitmap or null.
Handle to a FreeImage bitmap.
This function is an extension to , which additionally supports
specifying a palette to be set for the newly create image, as well as specifying a
background color, the newly created image should initially be filled with.
Basically, this function internally relies on function , followed by a
call to . This is why both parameters
and behave the same as it is
documented for function . So, please refer to the
documentation of to learn more about parameters color and options.
The palette specified through parameter palette is only copied to the newly created
image, if its image type is and the desired bit
depth is smaller than or equal to 8 bits per pixel. In other words, the
palette is only taken into account for palletized images. However, if the preceding conditions
match and if is not null, the palette is assumed to be at
least as large as the size of a fully populated palette for the desired bit depth.
So, for an 8-bit image, this length is 256, for an 4-bit image it is 16 and it is
2 for a 1-bit image. In other words, this function does not support partial palettes.
However, specifying a palette is not necesarily needed, even for palletized images. This
function is capable of implicitly creating a palette, if is null.
If the specified background color is a greyscale value (red = green = blue) or if option
is specified, a greyscale palette
is created. For a 1-bit image, only if the specified background color is either black or white,
a monochrome palette, consisting of black and white only is created. In any case, the darker
colors are stored at the smaller palette indices.
If the specified background color is not a greyscale value, or is neither black nor white
for a 1-bit image, solely this specified color is injected into the otherwise black-initialized
palette. For this operation, option
is implicit, so the specified color is applied to the palette entry, specified by the
background color's field. The image is then filled with
this palette index.
This function returns a newly created image as function does, if both
parameters and are null.
If only is null, the palette pointed to by
parameter is initially set for the new image, if a palletized
image of type is created.
However, in the latter case, this function returns an image, whose
pixels are all initialized with zeros so, the image will be filled with the color of the
first palette entry.
Allocates a new image of the specified type, width, height and bit depth and optionally
fills it with the specified color. See remarks for further details.
The type of the specified color.
Type of the image.
Width of the new bitmap.
Height of the new bitmap.
Bit depth of the new bitmap.
Supported pixel depth: 1-, 4-, 8-, 16-, 24-, 32-bit per pixel for standard bitmap
The color to fill the bitmap with or null.
Options to enable or disable function-features.
The palette of the bitmap or null.
Red part of the color layout.
eg: 0xFF0000
Green part of the color layout.
eg: 0x00FF00
Blue part of the color layout.
eg: 0x0000FF
Handle to a FreeImage bitmap.
This function is an extension to , which additionally supports
specifying a palette to be set for the newly create image, as well as specifying a
background color, the newly created image should initially be filled with.
Basically, this function internally relies on function , followed by a
call to . This is why both parameters
and behave the same as it is
documented for function . So, please refer to the
documentation of to learn more about parameters color and options.
The palette specified through parameter palette is only copied to the newly created
image, if its image type is and the desired bit
depth is smaller than or equal to 8 bits per pixel. In other words, the
palette is only taken into account for palletized images. However, if the preceding conditions
match and if is not null, the palette is assumed to be at
least as large as the size of a fully populated palette for the desired bit depth.
So, for an 8-bit image, this length is 256, for an 4-bit image it is 16 and it is
2 for a 1-bit image. In other words, this function does not support partial palettes.
However, specifying a palette is not necesarily needed, even for palletized images. This
function is capable of implicitly creating a palette, if is null.
If the specified background color is a greyscale value (red = green = blue) or if option
is specified, a greyscale palette
is created. For a 1-bit image, only if the specified background color is either black or white,
a monochrome palette, consisting of black and white only is created. In any case, the darker
colors are stored at the smaller palette indices.
If the specified background color is not a greyscale value, or is neither black nor white
for a 1-bit image, solely this specified color is injected into the otherwise black-initialized
palette. For this operation, option
is implicit, so the specified color is applied to the palette entry, specified by the
background color's field. The image is then filled with
this palette index.
This function returns a newly created image as function does, if both
parameters and are null.
If only is null, the palette pointed to by
parameter is initially set for the new image, if a palletized
image of type is created.
However, in the latter case, this function returns an image, whose
pixels are all initialized with zeros so, the image will be filled with the color of the
first palette entry.
Converts a FreeImage bitmap to a .NET .
Handle to a FreeImage bitmap.
The converted .NET .
Copying metadata has been disabled until a proper way
of reading and storing metadata in a .NET bitmap is found.
is null.
The image type of is not FIT_BITMAP.
Converts a FreeImage bitmap to a .NET .
Handle to a FreeImage bitmap.
When true existing metadata will be copied.
The converted .NET .
Copying metadata has been disabled until a proper way
of reading and storing metadata in a .NET bitmap is found.
is null.
The image type of is not FIT_BITMAP.
Converts an .NET into a FreeImage bitmap.
The to convert.
Handle to a FreeImage bitmap.
Copying metadata has been disabled until a proper way
of reading and storing metadata in a .NET bitmap is found.
is null.
The bitmaps pixelformat is invalid.
Converts an .NET into a FreeImage bitmap.
The to convert.
When true existing metadata will be copied.
Handle to a FreeImage bitmap.
Copying metadata has been disabled until a proper way
of reading and storing metadata in a .NET bitmap is found.
is null.
The bitmaps pixelformat is invalid.
Converts a raw bitmap to a FreeImage bitmap.
Array of bytes containing the raw bitmap.
The type of the raw bitmap.
The width in pixels of the raw bitmap.
The height in pixels of the raw bitmap.
Defines the total width of a scanline in the raw bitmap,
including padding bytes.
The bit depth (bits per pixel) of the raw bitmap.
The bit mask describing the bits used to store a single
pixel's red component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The bit mask describing the bits used to store a single
pixel's green component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The bit mask describing the bits used to store a single
pixel's blue component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
If true, the raw bitmap is stored in top-down order (top-left pixel first)
and in bottom-up order (bottom-left pixel first) otherwise.
Handle to a FreeImage bitmap.
Converts a raw bitmap to a FreeImage bitmap.
Pointer to the memory block containing the raw bitmap.
The type of the raw bitmap.
The width in pixels of the raw bitmap.
The height in pixels of the raw bitmap.
Defines the total width of a scanline in the raw bitmap,
including padding bytes.
The bit depth (bits per pixel) of the raw bitmap.
The bit mask describing the bits used to store a single
pixel's red component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The bit mask describing the bits used to store a single
pixel's green component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
The bit mask describing the bits used to store a single
pixel's blue component in the raw bitmap. This is only applied to 16-bpp raw bitmaps.
If true, the raw bitmap is stored in top-down order (top-left pixel first)
and in bottom-up order (bottom-left pixel first) otherwise.
Handle to a FreeImage bitmap.
Saves a .NET to a file.
The .NET to save.
Name of the file to save to.
Returns true on success, false on failure.
or is null.
The bitmaps pixelformat is invalid.
Saves a .NET to a file.
The .NET to save.
Name of the file to save to.
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
or is null.
The bitmaps pixelformat is invalid.
Saves a .NET to a file.
The .NET to save.
Name of the file to save to.
Format of the bitmap. If the format should be taken from the
filename use .
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
or is null.
The bitmaps pixelformat is invalid.
Loads a FreeImage bitmap.
The file will be loaded with default loading flags.
The complete name of the file to load.
Handle to a FreeImage bitmap.
does not exists.
Loads a FreeImage bitmap.
Load flags can be provided by the flags parameter.
The complete name of the file to load.
Flags to enable or disable plugin-features.
Handle to a FreeImage bitmap.
does not exists.
Loads a FreeImage bitmap.
In case the loading format is the files
real format is being analysed. If no plugin can read the file, format remains
and 0 is returned.
The file will be loaded with default loading flags.
The complete name of the file to load.
Format of the image. If the format is unknown use
.
In case a suitable format was found by LoadEx it will be returned in format.
Handle to a FreeImage bitmap.
does not exists.
Loads a FreeImage bitmap.
In case the loading format is the files
real format is being analysed. If no plugin can read the file, format remains
and 0 is returned.
Load flags can be provided by the flags parameter.
The complete name of the file to load.
Flags to enable or disable plugin-features.
Format of the image. If the format is unknown use
.
In case a suitable format was found by LoadEx it will be returned in format.
Handle to a FreeImage bitmap.
does not exists.
Loads a .NET from a file.
Name of the file to be loaded.
Format of the image. If the format should be taken from the
filename use .
Flags to enable or disable plugin-features.
The loaded .NET .
does not exists.
The image type of the image is not .
Deletes a previously loaded FreeImage bitmap from memory and resets the handle to 0.
Handle to a FreeImage bitmap.
Saves a previously loaded FreeImage bitmap to a file.
The format is taken off the filename.
If no suitable format was found false will be returned.
Handle to a FreeImage bitmap.
The complete name of the file to save to.
The extension will be corrected if it is no valid extension for the
selected format or if no extension was specified.
Returns true on success, false on failure.
or is null.
Saves a previously loaded FreeImage bitmap to a file.
In case the loading format is
the format is taken off the filename.
If no suitable format was found false will be returned.
Handle to a FreeImage bitmap.
The complete name of the file to save to.
The extension will be corrected if it is no valid extension for the
selected format or if no extension was specified.
Format of the image. If the format should be taken from the
filename use .
Returns true on success, false on failure.
or is null.
Saves a previously loaded FreeImage bitmap to a file.
The format is taken off the filename.
If no suitable format was found false will be returned.
Handle to a FreeImage bitmap.
The complete name of the file to save to.
The extension will be corrected if it is no valid extension for the
selected format or if no extension was specified.
When true the structure will be unloaded on success.
If the function failed and returned false, the bitmap was not unloaded.
Returns true on success, false on failure.
or is null.
Saves a previously loaded FreeImage bitmap to a file.
The format is taken off the filename.
If no suitable format was found false will be returned.
Save flags can be provided by the flags parameter.
Handle to a FreeImage bitmap.
The complete name of the file to save to.
The extension will be corrected if it is no valid extension for the
selected format or if no extension was specified
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
or is null.
Saves a previously loaded FreeImage bitmap to a file.
The format is taken off the filename.
If no suitable format was found false will be returned.
Save flags can be provided by the flags parameter.
Handle to a FreeImage bitmap.
The complete name of the file to save to.
The extension will be corrected if it is no valid extension for the
selected format or if no extension was specified.
Flags to enable or disable plugin-features.
When true the structure will be unloaded on success.
If the function failed and returned false, the bitmap was not unloaded.
Returns true on success, false on failure.
or is null.
Saves a previously loaded FreeImage bitmap to a file.
In case the loading format is
the format is taken off the filename.
If no suitable format was found false will be returned.
Handle to a FreeImage bitmap.
The complete name of the file to save to.
The extension will be corrected if it is no valid extension for the
selected format or if no extension was specified.
Format of the image. If the format should be taken from the
filename use .
When true the structure will be unloaded on success.
If the function failed and returned false, the bitmap was not unloaded.
Returns true on success, false on failure.
or is null.
Saves a previously loaded FreeImage bitmap to a file.
In case the loading format is
the format is taken off the filename.
If no suitable format was found false will be returned.
Save flags can be provided by the flags parameter.
Handle to a FreeImage bitmap.
The complete name of the file to save to.
The extension will be corrected if it is no valid extension for the
selected format or if no extension was specified.
Format of the image. If the format should be taken from the
filename use .
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
or is null.
Saves a previously loaded FreeImage bitmap to a file.
In case the loading format is
the format is taken off the filename.
If no suitable format was found false will be returned.
Save flags can be provided by the flags parameter.
The bitmaps color depth can be set by 'colorDepth'.
If set to a suitable color depth
will be taken if available.
Handle to a FreeImage bitmap.
The complete name of the file to save to.
The extension will be corrected if it is no valid extension for the
selected format or if no extension was specified.
Format of the image. If the format should be taken from the
filename use .
Flags to enable or disable plugin-features.
The new color depth of the bitmap.
Set to if Save should take the
best suitable color depth.
If a color depth is selected that the provided format cannot write an
error-message will be thrown.
When true the structure will be unloaded on success.
If the function failed and returned false, the bitmap was not unloaded.
Returns true on success, false on failure.
A direct color conversion failed.
or is null.
Loads a FreeImage bitmap.
The stream must be set to the correct position before calling LoadFromStream.
The stream to read from.
Handle to a FreeImage bitmap.
is null.
is not capable of reading.
Loads a FreeImage bitmap.
The stream must be set to the correct position before calling LoadFromStream.
The stream to read from.
Flags to enable or disable plugin-features.
Handle to a FreeImage bitmap.
is null.
is not capable of reading.
Loads a FreeImage bitmap.
In case the loading format is the
bitmaps real format is being analysed.
The stream must be set to the correct position before calling LoadFromStream.
The stream to read from.
Format of the image. If the format is unknown use
.
In case a suitable format was found by LoadFromStream it will be returned in format.
Handle to a FreeImage bitmap.
is null.
is not capable of reading.
Loads a FreeImage bitmap.
In case the loading format is
the bitmaps real format is being analysed.
The stream must be set to the correct position before calling LoadFromStream.
The stream to read from.
Flags to enable or disable plugin-features.
Format of the image. If the format is unknown use
.
In case a suitable format was found by LoadFromStream it will be returned in format.
Handle to a FreeImage bitmap.
is null.
is not capable of reading.
Saves a previously loaded FreeImage bitmap to a stream.
The stream must be set to the correct position before calling SaveToStream.
Handle to a FreeImage bitmap.
The stream to write to.
Format of the image.
Returns true on success, false on failure.
or is null.
cannot write.
Saves a previously loaded FreeImage bitmap to a stream.
The stream must be set to the correct position before calling SaveToStream.
Handle to a FreeImage bitmap.
The stream to write to.
Format of the image.
When true the structure will be unloaded on success.
Returns true on success, false on failure.
or is null.
cannot write.
Saves a previously loaded FreeImage bitmap to a stream.
The stream must be set to the correct position before calling SaveToStream.
Handle to a FreeImage bitmap.
The stream to write to.
Format of the image.
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
or is null.
cannot write.
Saves a previously loaded FreeImage bitmap to a stream.
The stream must be set to the correct position before calling SaveToStream.
Handle to a FreeImage bitmap.
The stream to write to.
Format of the image.
Flags to enable or disable plugin-features.
When true the structure will be unloaded on success.
Returns true on success, false on failure.
or is null.
cannot write.
Saves a previously loaded FreeImage bitmap to a stream.
The stream must be set to the correct position before calling SaveToStream.
Handle to a FreeImage bitmap.
The stream to write to.
Format of the image.
Flags to enable or disable plugin-features.
The new color depth of the bitmap.
Set to if SaveToStream should
take the best suitable color depth.
If a color depth is selected that the provided format cannot write an
error-message will be thrown.
Returns true on success, false on failure.
or is null.
cannot write.
Saves a previously loaded FreeImage bitmap to a stream.
The stream must be set to the correct position before calling SaveToStream.
Handle to a FreeImage bitmap.
The stream to write to.
Format of the image.
Flags to enable or disable plugin-features.
The new color depth of the bitmap.
Set to if SaveToStream should
take the best suitable color depth.
If a color depth is selected that the provided format cannot write an
error-message will be thrown.
When true the structure will be unloaded on success.
Returns true on success, false on failure.
or is null.
cannot write.
Checks if an extension is valid for a certain format.
The desired format.
The desired extension.
True if the extension is valid for the given format, false otherwise.
is null.
Checks if an extension is valid for a certain format.
The desired format.
The desired extension.
The string comparison type.
True if the extension is valid for the given format, false otherwise.
is null.
Checks if a filename is valid for a certain format.
The desired format.
The desired filename.
True if the filename is valid for the given format, false otherwise.
is null.
Checks if a filename is valid for a certain format.
The desired format.
The desired filename.
The string comparison type.
True if the filename is valid for the given format, false otherwise.
is null.
This function returns the primary (main or most commonly used?) extension of a certain
image format (fif). This is done by returning the first of all possible extensions
returned by GetFIFExtensionList().
That assumes, that the plugin returns the extensions in ordered form.
The image format to obtain the primary extension for.
The primary extension of the specified image format.
Loads a FreeImage multi-paged bitmap.
The complete name of the file to load.
Handle to a FreeImage multi-paged bitmap.
does not exists while opening.
Loads a FreeImage multi-paged bitmap.
The complete name of the file to load.
When true performance is increased at the cost of memory.
Handle to a FreeImage multi-paged bitmap.
does not exists while opening.
Loads a FreeImage multi-paged bitmap.
The complete name of the file to load.
When true the bitmap will be loaded read only.
When true performance is increased at the cost of memory.
Handle to a FreeImage multi-paged bitmap.
does not exists while opening.
Loads a FreeImage multi-paged bitmap.
The complete name of the file to load.
When true a new bitmap is created.
When true the bitmap will be loaded read only.
When true performance is increased at the cost of memory.
Handle to a FreeImage multi-paged bitmap.
does not exists while opening.
Loads a FreeImage multi-paged bitmap.
In case the loading format is the files real
format is being analysed. If no plugin can read the file, format remains
and 0 is returned.
The complete name of the file to load.
Format of the image. If the format is unknown use
.
In case a suitable format was found by LoadEx it will be returned in format.
When true a new bitmap is created.
When true the bitmap will be loaded read only.
When true performance is increased at the cost of memory.
Handle to a FreeImage multi-paged bitmap.
does not exists while opening.
Loads a FreeImage multi-paged bitmap.
In case the loading format is the files
real format is being analysed. If no plugin can read the file, format remains
and 0 is returned.
Load flags can be provided by the flags parameter.
The complete name of the file to load.
Format of the image. If the format is unknown use
.
In case a suitable format was found by LoadEx it will be returned in format.
Flags to enable or disable plugin-features.
When true a new bitmap is created.
When true the bitmap will be loaded read only.
When true performance is increased at the cost of memory.
Handle to a FreeImage multi-paged bitmap.
does not exists while opening.
Loads a FreeImage multi-paged bitmap.
The stream to load the bitmap from.
Handle to a FreeImage multi-paged bitmap.
Loads a FreeImage multi-paged bitmap.
In case the loading format is the files
real format is being analysed. If no plugin can read the file, format remains
and 0 is returned.
Load flags can be provided by the flags parameter.
The stream to load the bitmap from.
Format of the image. If the format is unknown use
.
Flags to enable or disable plugin-features.
Handle to a FreeImage multi-paged bitmap.
Closes a previously opened multi-page bitmap and, when the bitmap was not opened read-only, applies any changes made to it.
Handle to a FreeImage multi-paged bitmap.
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
Closes a previously opened multi-page bitmap and, when the bitmap was not opened read-only,
applies any changes made to it.
On success the handle will be reset to null.
Handle to a FreeImage multi-paged bitmap.
Returns true on success, false on failure.
Closes a previously opened multi-page bitmap and, when the bitmap was not opened read-only,
applies any changes made to it.
On success the handle will be reset to null.
Handle to a FreeImage multi-paged bitmap.
Flags to enable or disable plugin-features.
Returns true on success, false on failure.
Retrieves the number of pages that are locked in a multi-paged bitmap.
Handle to a FreeImage multi-paged bitmap.
Number of locked pages.
is null.
Retrieves a list locked pages of a multi-paged bitmap.
Handle to a FreeImage multi-paged bitmap.
List containing the indexes of the locked pages.
is null.
Loads a FreeImage multi-paged bitmap from a stream and returns the
FreeImage memory stream used as temporary buffer.
The bitmap can not be modified by calling
,
,
or
.
The stream to read from.
Format of the image.
Flags to enable or disable plugin-features.
The temporary memory buffer used to load the bitmap.
Handle to a FreeImage multi-paged bitmap.
is null.
can not read.
Orders FreeImage to analyze the bitmap signature.
In case the stream is not seekable, the stream will have been used
and must be recreated for loading.
Name of the stream to analyze.
Type of the bitmap.
is null.
can not read.
Retrieves an hBitmap for a FreeImage bitmap.
Call FreeHbitmap(IntPtr) to free the handle.
Handle to a FreeImage bitmap.
A reference device context.
Use IntPtr.Zero if no reference is available.
When true dib will be unloaded if the function succeeded.
The hBitmap for the FreeImage bitmap.
is null.
Returns an HBITMAP created by the CreateDIBitmap() function which in turn
has always the same color depth as the reference DC, which may be provided
through . The desktop DC will be used,
if IntPtr.Zero DC is specified.
Call to free the handle.
Handle to a FreeImage bitmap.
Handle to a device context.
When true the structure will be unloaded on success.
If the function failed and returned false, the bitmap was not unloaded.
If the function succeeds, the return value is a handle to the
compatible bitmap. If the function fails, the return value is .
is null.
Creates a FreeImage DIB from a Device Context/Compatible Bitmap.
Handle to the bitmap.
Handle to a device context.
Handle to a FreeImage bitmap.
is null.
Frees a bitmap handle.
Handle to a bitmap.
True on success, false on failure.
Retrieves a DIB's resolution in X-direction measured in 'dots per inch' (DPI) and not in
'dots per meter'.
Handle to a FreeImage bitmap.
The resolution in 'dots per inch'.
is null.
Retrieves a DIB's resolution in Y-direction measured in 'dots per inch' (DPI) and not in
'dots per meter'.
Handle to a FreeImage bitmap.
The resolution in 'dots per inch'.
is null.
Sets a DIB's resolution in X-direction measured in 'dots per inch' (DPI) and not in
'dots per meter'.
Handle to a FreeImage bitmap.
The new resolution in 'dots per inch'.
is null.
Sets a DIB's resolution in Y-direction measured in 'dots per inch' (DPI) and not in
'dots per meter'.
Handle to a FreeImage bitmap.
The new resolution in 'dots per inch'.
is null.
Returns whether the image is a greyscale image or not.
The function scans all colors in the bitmaps palette for entries where
red, green and blue are not all the same (not a grey color).
Supports 1-, 4- and 8-bit bitmaps.
Handle to a FreeImage bitmap.
True if the image is a greyscale image, else false.
is null.
Returns a structure that represents the palette of a FreeImage bitmap.
Handle to a FreeImage bitmap.
A structure representing the bitmaps palette.
is null.
Returns the structure of a FreeImage bitmap.
The structure is a copy, so changes will have no effect on
the bitmap itself.
Handle to a FreeImage bitmap.
structure of the bitmap.
is null.
Returns the structure of a FreeImage bitmap.
The structure is a copy, so changes will have no effect on
the bitmap itself.
Handle to a FreeImage bitmap.
structure of the bitmap.
is null.
Returns the pixelformat of the bitmap.
Handle to a FreeImage bitmap.
of the bitmap.
is null.
Retrieves all parameters needed to create a new FreeImage bitmap from
the format of a .NET .
The
of the .NET .
Returns the type used for the new bitmap.
Returns the color depth for the new bitmap.
Returns the red_mask for the new bitmap.
Returns the green_mask for the new bitmap.
Returns the blue_mask for the new bitmap.
True in case a matching conversion exists; else false.
Returns the for the specified
.
The
for which to return the corresponding .
The for the specified
Retrieves all parameters needed to create a new FreeImage bitmap from
raw bits .
The
of the data in memory.
The color depth for the data.
Returns the red_mask for the data.
Returns the green_mask for the data.
Returns the blue_mask for the data.
True in case a matching conversion exists; else false.
Compares two FreeImage bitmaps.
The first bitmap to compare.
The second bitmap to compare.
Determines which components of the bitmaps will be compared.
True in case both bitmaps match the compare conditions, false otherwise.
Returns the FreeImage bitmap's transparency table.
The array is empty in case the bitmap has no transparency table.
Handle to a FreeImage bitmap.
The FreeImage bitmap's transparency table.
is null.
Set the FreeImage bitmap's transparency table. Only affects palletised bitmaps.
Handle to a FreeImage bitmap.
The FreeImage bitmap's new transparency table.
or is null.
This function returns the number of unique colors actually used by the
specified 1-, 4-, 8-, 16-, 24- or 32-bit image. This might be different from
what function FreeImage_GetColorsUsed() returns, which actually returns the
palette size for palletised images. Works for
type images only.
Handle to a FreeImage bitmap.
Returns the number of unique colors used by the image specified or
zero, if the image type cannot be handled.
is null.
Verifies whether the FreeImage bitmap is 16bit 555.
The FreeImage bitmap to verify.
true if the bitmap is RGB16-555; otherwise false.
Verifies whether the FreeImage bitmap is 16bit 565.
The FreeImage bitmap to verify.
true if the bitmap is RGB16-565; otherwise false.
Creates a new ICC-Profile for a FreeImage bitmap.
Handle to a FreeImage bitmap.
The data of the new ICC-Profile.
The new ICC-Profile of the bitmap.
is null.
Creates a new ICC-Profile for a FreeImage bitmap.
Handle to a FreeImage bitmap.
The data of the new ICC-Profile.
The number of bytes of to use.
The new ICC-Profile of the FreeImage bitmap.
is null.
Converts a FreeImage bitmap from one color depth to another.
If the conversion fails the original FreeImage bitmap is returned.
Handle to a FreeImage bitmap.
The desired output format.
Handle to a FreeImage bitmap.
is null.
Converts a FreeImage bitmap from one color depth to another.
If the conversion fails the original FreeImage bitmap is returned.
Handle to a FreeImage bitmap.
The desired output format.
When true the structure will be unloaded on success.
Handle to a FreeImage bitmap.
is null.
Converts a FreeImage bitmap from one color depth to another.
If the conversion fails the original FreeImage bitmap is returned.
Handle to a FreeImage bitmap.
The desired output format.
Threshold value when converting with
.
Handle to a FreeImage bitmap.
is null.
Converts a FreeImage bitmap from one color depth to another.
If the conversion fails the original FreeImage bitmap is returned.
Handle to a FreeImage bitmap.
The desired output format.
Dither algorithm when converting
with .
Handle to a FreeImage bitmap.
is null.
Converts a FreeImage bitmap from one color depth to another.
If the conversion fails the original FreeImage bitmap is returned.
Handle to a FreeImage bitmap.
The desired output format.
The quantization algorithm for conversion to 8-bit color depth.
Handle to a FreeImage bitmap.
is null.
Converts a FreeImage bitmap from one color depth to another.
If the conversion fails the original FreeImage bitmap is returned.
Handle to a FreeImage bitmap.
The desired output format.
Threshold value when converting with
.
When true the structure will be unloaded on success.
Handle to a FreeImage bitmap.
is null.
Converts a FreeImage bitmap from one color depth to another.
If the conversion fails the original FreeImage bitmap is returned.
Handle to a FreeImage bitmap.
The desired output format.
Dither algorithm when converting with
.
When true the structure will be unloaded on success.
Handle to a FreeImage bitmap.
is null.
Converts a FreeImage bitmap from one color depth to another.
If the conversion fails the original FreeImage bitmap is returned.
Handle to a FreeImage bitmap.
The desired output format.
The quantization algorithm for conversion to 8-bit color depth.
When true the structure will be unloaded on success.
Handle to a FreeImage bitmap.
is null.
Converts a FreeImage bitmap from one color depth to another.
If the conversion fails the original FreeImage bitmap is returned.
Handle to a FreeImage bitmap.
The desired output format.
Threshold value when converting with
.
Dither algorithm when converting with
.
The quantization algorithm for conversion to 8-bit color depth.
When true the structure will be unloaded on success.
Handle to a FreeImage bitmap.
is null.
ColorQuantizeEx is an extension to the
method that provides additional options used to quantize a 24-bit image to any
number of colors (up to 256), as well as quantize a 24-bit image using a
provided palette.
Handle to a FreeImage bitmap.
Specifies the color reduction algorithm to be used.
Size of the desired output palette.
The provided palette.
true to create a bitmap with the smallest possible
color depth for the specified .
Handle to a FreeImage bitmap.
ColorQuantizeEx is an extension to the
method that provides additional options used to quantize a 24-bit image to any
number of colors (up to 256), as well as quantize a 24-bit image using a
partial or full provided palette.
Handle to a FreeImage bitmap.
Specifies the color reduction algorithm to be used.
Size of the desired output palette.
The provided palette.
The desired color depth of the created image.
Handle to a FreeImage bitmap.
Copies metadata from one FreeImage bitmap to another.
Source FreeImage bitmap containing the metadata.
FreeImage bitmap to copy the metadata to.
Flags to switch different copy modes.
Returns -1 on failure else the number of copied tags.
or is null.
Returns the comment of a JPEG, PNG or GIF image.
Handle to a FreeImage bitmap.
Comment of the FreeImage bitmp, or null in case no comment exists.
is null.
Sets the comment of a JPEG, PNG or GIF image.
Handle to a FreeImage bitmap.
New comment of the FreeImage bitmap.
Use null to remove the comment.
Returns true on success, false on failure.
is null.
Retrieve a metadata attached to a FreeImage bitmap.
The metadata model to look for.
Handle to a FreeImage bitmap.
The metadata field name.
A structure returned by the function.
Returns true on success, false on failure.
is null.
Attach a new metadata tag to a FreeImage bitmap.
The metadata model used to store the tag.
Handle to a FreeImage bitmap.
The tag field name.
The to be attached.
Returns true on success, false on failure.
is null.
Provides information about the first instance of a tag that matches the metadata model.
The model to match.
Handle to a FreeImage bitmap.
Tag that matches the metadata model.
Unique search handle that can be used to call FindNextMetadata or FindCloseMetadata.
Null if the metadata model does not exist.
is null.
Find the next tag, if any, that matches the metadata model argument in a previous call
to FindFirstMetadata, and then alters the tag object contents accordingly.
Unique search handle provided by FindFirstMetadata.
Tag that matches the metadata model.
Returns true on success, false on failure.
Closes the specified metadata search handle and releases associated resources.
The handle to close.
This dictionary links FIMETADATA handles and FREE_IMAGE_MDMODEL models.
This function rotates a 1-, 8-bit greyscale or a 24-, 32-bit color image by means of 3 shears.
1-bit images rotation is limited to integer multiple of 90°.
null is returned for other values.
Handle to a FreeImage bitmap.
The angle of rotation.
Handle to a FreeImage bitmap.
This function rotates a 1-, 8-bit greyscale or a 24-, 32-bit color image by means of 3 shears.
1-bit images rotation is limited to integer multiple of 90°.
null is returned for other values.
The type of the color to use as background.
Handle to a FreeImage bitmap.
The angle of rotation.
The color used used to fill the bitmap's background.
Handle to a FreeImage bitmap.
Rotates a 4-bit color FreeImage bitmap.
Allowed values for are 90, 180 and 270.
In case is 0 or 360 a clone is returned.
0 is returned for other values or in case the rotation fails.
Handle to a FreeImage bitmap.
The angle of rotation.
Handle to a FreeImage bitmap.
This function is kind of temporary due to FreeImage's lack of
rotating 4-bit images. It's particularly used by 's
method RotateFlip. This function will be removed as soon as FreeImage
supports rotating 4-bit images.
is null.
Enlarges or shrinks the FreeImage bitmap selectively per side and fills newly added areas
with the specified background color. See remarks for further details.
The type of the specified color.
Handle to a FreeImage bitmap.
The number of pixels, the image should be enlarged on its left side.
Negative values shrink the image on its left side.
The number of pixels, the image should be enlarged on its top side.
Negative values shrink the image on its top side.
The number of pixels, the image should be enlarged on its right side.
Negative values shrink the image on its right side.
The number of pixels, the image should be enlarged on its bottom side.
Negative values shrink the image on its bottom side.
The color, the enlarged sides of the image should be filled with.
Options that affect the color search process for palletized images.
Handle to a FreeImage bitmap.
This function enlarges or shrinks an image selectively per side.
The main purpose of this function is to add borders to an image.
To add a border to any of the image's sides, a positive integer value must be passed in
any of the parameters , ,
or . This value represents the border's
width in pixels. Newly created parts of the image (the border areas) are filled with the
specified .
Specifying a negative integer value for a certain side, will shrink or crop the image on
this side. Consequently, specifying zero for a certain side will not change the image's
extension on that side.
So, calling this function with all parameters , ,
and set to zero, is
effectively the same as calling function ; setting all parameters
, , and
to value equal to or smaller than zero, my easily be substituted
by a call to function . Both these cases produce a new image, which is
guaranteed not to be larger than the input image. Thus, since the specified
is not needed in these cases,
may be null.
Both parameters and work according to
function . So, please refer to the documentation of
to learn more about parameters
and . For palletized images, the palette of the input image is
transparently copied to the newly created enlarged or shrunken image, so any color look-ups
are performed on this palette.
// create a white color
RGBQUAD c;
c.rgbRed = 0xFF;
c.rgbGreen = 0xFF;
c.rgbBlue = 0xFF;
c.rgbReserved = 0x00;
// add a white, symmetric 10 pixel wide border to the image
dib2 = FreeImage_EnlargeCanvas(dib, 10, 10, 10, 10, c, FREE_IMAGE_COLOR_OPTIONS.FICO_RGB);
// add white, 20 pixel wide stripes to the top and bottom side of the image
dib3 = FreeImage_EnlargeCanvas(dib, 0, 20, 0, 20, c, FREE_IMAGE_COLOR_OPTIONS.FICO_RGB);
// add white, 30 pixel wide stripes to the right side of the image and
// cut off the 40 leftmost pixel columns
dib3 = FreeImage_EnlargeCanvas(dib, -40, 0, 30, 0, c, FREE_IMAGE_COLOR_OPTIONS.FICO_RGB);
Sets all pixels of the specified image to the color provided through the
parameter. See remarks for further details.
The type of the specified color.
Handle to a FreeImage bitmap.
The color to fill the bitmap with. See remarks for further details.
Options that affect the color search process for palletized images.
true on success, false on failure.
This function sets all pixels of an image to the color provided through
the parameter. is used for standard type images.
For non standard type images the underlaying structure is used.
So, must be of type , if the image to be filled is of type
and must be a structure if the
image is of type and so on.
However, the fill color is always specified through a structure
for all images of type .
So, for 32- and 24-bit images, the red, green and blue members of the
structure are directly used for the image's red, green and blue channel respectively.
Although alpha transparent colors are
supported, the alpha channel of a 32-bit image never gets modified by this function.
A fill color with an alpha value smaller than 255 gets blended with the image's actual
background color, which is determined from the image's bottom-left pixel.
So, currently using alpha enabled colors, assumes the image to be unicolor before the
fill operation. However, the field is only taken into account,
if option has been specified.
For 16-bit images, the red-, green- and blue components of the specified color are
transparently translated into either the 16-bit 555 or 565 representation. This depends
on the image's actual red- green- and blue masks.
Special attention must be payed for palletized images. Generally, the RGB color specified
is looked up in the image's palette. The found palette index is then used to fill the image.
There are some option flags, that affect this lookup process:
Value
Meaning
-
Uses the color, that is nearest to the specified color.
This is the default behavior and should always find a
color in the palette. However, the visual result may
far from what was expected and mainly depends on the
image's palette.
-
Searches the image's palette for the specified color
but only uses the returned palette index, if the specified
color exactly matches the palette entry. Of course,
depending on the image's actual palette entries, this
operation may fail. In this case, the function falls back
to option
and uses the RGBQUAD's rgbReserved member (or its low nibble for 4-bit images
or its least significant bit (LSB) for 1-bit images) as
the palette index used for the fill operation.
-
Does not perform any color lookup from the palette, but
uses the RGBQUAD's alpha channel member rgbReserved as
the palette index to be used for the fill operation.
However, for 4-bit images, only the low nibble of the
rgbReserved member are used and for 1-bit images, only
the least significant bit (LSB) is used.
Returns the next higher possible color depth.
Color depth to increase.
The next higher color depth or 0 if there is no valid color depth.
Returns the next lower possible color depth.
Color depth to decrease.
The next lower color depth or 0 if there is no valid color depth.
Reads a null-terminated c-string.
Pointer to the first char of the string.
The converted string.
Changes a bitmaps color depth.
Used by SaveEx and SaveToStream.
Compares blocks of memory.
A pointer to a block of memory to compare.
A pointer to a block of memory to compare.
Specifies the number of bytes to be compared.
true, if all bytes compare as equal, false otherwise.
Compares blocks of memory.
A pointer to a block of memory to compare.
A pointer to a block of memory to compare.
Specifies the number of bytes to be compared.
true, if all bytes compare as equal, false otherwise.
Compares blocks of memory.
A pointer to a block of memory to compare.
A pointer to a block of memory to compare.
Specifies the number of bytes to be compared.
true, if all bytes compare as equal, false otherwise.
Compares blocks of memory.
A pointer to a block of memory to compare.
A pointer to a block of memory to compare.
Specifies the number of bytes to be compared.
true, if all bytes compare as equal, false otherwise.
Moves a block of memory from one location to another.
A pointer to the starting address of the move destination.
A pointer to the starting address of the block of memory to be moved.
The size of the block of memory to move, in bytes.
Moves a block of memory from one location to another.
A pointer to the starting address of the move destination.
A pointer to the starting address of the block of memory to be moved.
The size of the block of memory to move, in bytes.
Moves a block of memory from one location to another.
A pointer to the starting address of the move destination.
A pointer to the starting address of the block of memory to be moved.
The size of the block of memory to move, in bytes.
Copies a block of memory from one location to another.
A pointer to the starting address of the copied block's destination.
A pointer to the starting address of the block of memory to copy.
The size of the block of memory to copy, in bytes.
CopyMemory runs faster than .
However, if both blocks overlap the result is undefined.
Copies a block of memory from one location to another.
A pointer to the starting address of the copied block's destination.
A pointer to the starting address of the block of memory to copy.
The size of the block of memory to copy, in bytes.
CopyMemory runs faster than .
However, if both blocks overlap the result is undefined.
Copies a block of memory from one location to another.
A pointer to the starting address of the copied block's destination.
A pointer to the starting address of the block of memory to copy.
The size of the block of memory to copy, in bytes.
CopyMemory runs faster than .
However, if both blocks overlap the result is undefined.
Copies a block of memory from one location to another.
A pointer to the starting address of the copied block's destination.
A pointer to the starting address of the block of memory to copy.
The size of the block of memory to copy, in bytes.
CopyMemory runs faster than .
However, if both blocks overlap the result is undefined.
Copies a block of memory from one location to another.
A pointer to the starting address of the copied block's destination.
A pointer to the starting address of the block of memory to copy.
The size of the block of memory to copy, in bytes.
CopyMemory runs faster than .
However, if both blocks overlap the result is undefined.
Copies a block of memory from one location to another.
A pointer to the starting address of the copied block's destination.
A pointer to the starting address of the block of memory to copy.
The size of the block of memory to copy, in bytes.
CopyMemory runs faster than .
However, if both blocks overlap the result is undefined.
Copies a block of memory into an array.
An array used as the destination of the copy process.
A pointer to the starting address of the block of memory to copy.
The size of the block of memory to copy, in bytes.
Copies a block of memory into an array.
An array used as the destination of the copy process.
A pointer to the starting address of the block of memory to copy.
The size of the block of memory to copy, in bytes.
Copies a block of memory into an array.
An array used as the destination of the copy process.
A pointer to the starting address of the block of memory to copy.
The size of the block of memory to copy, in bytes.
Copies a block of memory into an array.
An array used as the destination of the copy process.
A pointer to the starting address of the block of memory to copy.
The size of the block of memory to copy, in bytes.
Copies the content of an array to a memory location.
A pointer to the starting address of the copied block's destination.
An array used as the source of the copy process.
The size of the block of memory to copy, in bytes.
Copies the content of an array to a memory location.
A pointer to the starting address of the copied block's destination.
An array used as the source of the copy process.
The size of the block of memory to copy, in bytes.
Copies the content of an array to a memory location.
A pointer to the starting address of the copied block's destination.
An array used as the source of the copy process.
The size of the block of memory to copy, in bytes.
Copies the content of an array to a memory location.
A pointer to the starting address of the copied block's destination.
An array used as the source of the copy process.
The size of the block of memory to copy, in bytes.
Copies the content of one array into another array.
An array used as the destination of the copy process.
An array used as the source of the copy process.
The size of the content to copy, in bytes.
Copies the content of one array into another array.
An array used as the destination of the copy process.
An array used as the source of the copy process.
The size of the content to copy, in bytes.
Retrieves a handle to a display device context (DC) for the client area of a specified window
or for the entire screen. You can use the returned handle in subsequent GDI functions to draw in the DC.
Handle to the window whose DC is to be retrieved.
If this value is IntPtr.Zero, GetDC retrieves the DC for the entire screen.
If the function succeeds, the return value is a handle to the DC for the specified window's client area.
If the function fails, the return value is NULL.
Releases a device context (DC), freeing it for use by other applications.
The effect of the ReleaseDC function depends on the type of DC. It frees only common and window DCs.
It has no effect on class or private DCs.
Handle to the window whose DC is to be released.
Handle to the DC to be released.
Returns true on success, false on failure.
Creates a DIB that applications can write to directly.
The function gives you a pointer to the location of the bitmap bit values.
You can supply a handle to a file-mapping object that the function will use to create the bitmap,
or you can let the system allocate the memory for the bitmap.
Handle to a device context.
Pointer to a BITMAPINFO structure that specifies various attributes of the DIB,
including the bitmap dimensions and colors.
Specifies the type of data contained in the bmiColors array member of the BITMAPINFO structure
pointed to by pbmi (either logical palette indexes or literal RGB values).
Pointer to a variable that receives a pointer to the location of the DIB bit values.
Handle to a file-mapping object that the function will use to create the DIB.
This parameter can be NULL.
Specifies the offset from the beginning of the file-mapping object referenced by hSection
where storage for the bitmap bit values is to begin. This value is ignored if hSection is NULL.
If the function succeeds, the return value is a handle to the newly created DIB,
and *ppvBits points to the bitmap bit values. If the function fails, the return value is NULL, and *ppvBits is NULL.
Deletes a logical pen, brush, font, bitmap, region, or palette, freeing all system resources associated with the object.
After the object is deleted, the specified handle is no longer valid.
Handle to a logical pen, brush, font, bitmap, region, or palette.
Returns true on success, false on failure.
Creates a compatible bitmap (DDB) from a DIB and, optionally, sets the bitmap bits.
Handle to a device context.
Pointer to a bitmap information header structure.
Specifies how the system initializes the bitmap bits - (use 4).
Pointer to an array of bytes containing the initial bitmap data.
Pointer to a BITMAPINFO structure that describes the dimensions
and color format of the array pointed to by the lpbInit parameter.
Specifies whether the bmiColors member of the BITMAPINFO structure
was initialized - (use 0).
Handle to a DIB or null on failure.
Retrieves information for the specified graphics object.
Handle to the graphics object of interest.
Specifies the number of bytes of information to
be written to the buffer.
Pointer to a buffer that receives the information
about the specified graphics object.
0 on failure.
Retrieves the bits of the specified compatible bitmap and copies them into a buffer
as a DIB using the specified format.
Handle to the device context.
Handle to the bitmap. This must be a compatible bitmap (DDB).
Specifies the first scan line to retrieve.
Specifies the number of scan lines to retrieve.
Pointer to a buffer to receive the bitmap data.
Pointer to a BITMAPINFO structure that specifies the desired
format for the DIB data.
Specifies the format of the bmiColors member of the
BITMAPINFO structure - (use 0).
0 on failure.
Moves a block of memory from one location to another.
Pointer to the starting address of the move destination.
Pointer to the starting address of the block of memory to be moved.
Size of the block of memory to move, in bytes.
The RtlCompareMemory routine compares blocks of memory
and returns the number of bytes that are equivalent.
A pointer to a block of memory to compare.
A pointer to a block of memory to compare.
Specifies the number of bytes to be compared.
RtlCompareMemory returns the number of bytes that compare as equal.
If all bytes compare as equal, the input Length is returned.