Class DngImage
Contents
[
Hide
]DngImage class
The API for processing DNG (Digital Negative) image file format used for digital photography needs by providing comprehensive support for raw files and metadata. Designed for use with digital cameras across various manufacturers, it enables developers to manipulate aspects like bits per pixel, extract internal data, and adjust image balance efficiently. With capabilities to update and save image data seamlessly, this API empowers developers to work with DNG files, ensuring high-quality results and versatile processing options.
public class DngImage : RasterCachedImage
Properties
Name | Description |
---|---|
AutoAdjustPalette { get; set; } | Gets or sets a value indicating whether automatic adjust palette. |
virtual BackgroundColor { get; set; } | Gets or sets a value for the background color. |
override BitsPerPixel { get; } | Discover the number of bits per pixel in the image effortlessly with this property. Ideal for understanding the image’s pixel depth quickly and accurately. |
Bounds { get; } | Gets the image bounds. |
BufferSizeHint { get; set; } | Gets or sets the buffer size hint which is defined max allowed size for all internal buffers. |
Container { get; } | Gets the Image container. |
DataStreamContainer { get; } | Gets the object’s data stream. |
Disposed { get; } | Gets a value indicating whether this instance is disposed. |
override FileFormat { get; } | Identify the file format of your image with this property. Perfect for understanding the format - just straightforward details. |
virtual HasAlpha { get; } | Gets a value indicating whether this instance has alpha. |
virtual HasBackgroundColor { get; set; } | Gets or sets a value indicating whether image has background color. |
virtual HasTransparentColor { get; set; } | Gets a value indicating whether image has transparent color. |
override Height { get; } | Retrieve the height of the image with this property. Perfect for determining the vertical size of the image without hassle. |
virtual HorizontalResolution { get; set; } | Gets or sets the horizontal resolution, in pixels per inch, of this RasterImage . |
virtual ImageOpacity { get; } | Gets opacity of this image. |
ImgData { get; set; } | Manage the image data with this property. Whether you’re retrieving or updating, this property provides seamless access to the image data for efficient manipulation. |
InterruptMonitor { get; set; } | Gets or sets the interrupt monitor. |
override IsCached { get; } | Gets a value indicating whether image data is cached currently. |
IsRawDataAvailable { get; } | Gets a value indicating whether raw data loading is available. |
Palette { get; set; } | Gets or sets the color palette. The color palette is not used when pixels are represented directly. |
virtual PremultiplyComponents { get; set; } | Gets or sets a value indicating whether the image components must be premultiplied. |
RawCustomColorConverter { get; set; } | Gets or sets the custom color converter |
virtual RawDataFormat { get; } | Gets the raw data format. |
RawDataSettings { get; } | Gets the current raw data settings. Note when using these settings the data loads without conversion. |
RawFallbackIndex { get; set; } | Gets or sets the fallback index to use when palette index is out of bounds |
RawIndexedColorConverter { get; set; } | Gets or sets the indexed color converter |
virtual RawLineSize { get; } | Gets the raw line size in bytes. |
Size { get; } | Gets the image size. |
virtual TransparentColor { get; set; } | Gets the image transparent color. |
virtual UpdateXmpData { get; set; } | Gets or sets a value indicating whether to update the XMP metadata. |
override UsePalette { get; } | Gets a value indicating whether the image palette is used. |
virtual UseRawData { get; set; } | Gets or sets a value indicating whether to use raw data loading when the raw data loading is available. |
virtual VerticalResolution { get; set; } | Gets or sets the vertical resolution, in pixels per inch, of this RasterImage . |
override Width { get; } | Access the width of the image with this property. Ideal for obtaining the horizontal size of the image quickly and efficiently. |
virtual XmpData { get; set; } | Gets or sets the XMP metadata. |
Methods
Name | Description |
---|---|
override AdjustBrightness(int) | Adjust of a brightness for image. |
override AdjustContrast(float) | Image contrasting |
override AdjustGamma(float) | Gamma-correction of an image. |
override AdjustGamma(float, float, float) | Gamma-correction of an image. |
override BinarizeBradley(double) | Binarization of an image using Bradley’s adaptive thresholding algorithm using the integral image thresholding |
override BinarizeBradley(double, int) | Binarization of an image using Bradley’s adaptive thresholding algorithm using the integral image thresholding |
override BinarizeFixed(byte) | Binarization of an image with predefined threshold |
override BinarizeOtsu() | Binarization of an image with Otsu thresholding |
Blend(Point, RasterImage, byte) | Blends this image instance with the overlay image. |
override Blend(Point, RasterImage, Rectangle, byte) | Blends this image instance with the overlay image. |
override CacheData() | Caches the data and ensures no additional data loading will be performed from the underlying DataStreamContainer . |
CanSave(ImageOptionsBase) | Determines whether image can be saved to the specified file format represented by the passed save options. |
override Crop(Rectangle) | Cropping the image. |
virtual Crop(int, int, int, int) | Crop image with shifts. |
Dispose() | Disposes the current instance. |
Dither(DitheringMethod, int) | Performs dithering on the current image. |
override Dither(DitheringMethod, int, IColorPalette) | Performs dithering on the current image. |
virtual Filter(Rectangle, FilterOptionsBase) | Filters the specified rectangle. |
GetArgb32Pixel(int, int) | Gets an image 32-bit ARGB pixel. |
GetDefaultArgb32Pixels(Rectangle) | Gets the default 32-bit ARGB pixels array. |
virtual GetDefaultOptions(object[]) | Gets the default options. |
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) | Gets the default pixels array using partial pixel loader. |
GetDefaultRawData(Rectangle, RawDataSettings) | Gets the default raw data array. |
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) | Gets the default raw data array using partial pixel loader. |
virtual GetModifyDate(bool) | Gets the date and time the resource image was last modified. |
virtual GetOriginalOptions() | Gets the options based on the original file settings. This can be helpful to keep bit-depth and other parameters of the original image unchanged. For example, if we load a black-white PNG image with 1 bit per pixel and then save it using the Save method, the output PNG image with 8-bit per pixel will be produced. To avoid it and save PNG image with 1-bit per pixel, use this method to get corresponding saving options and pass them to the Save method as the second parameter. |
GetPixel(int, int) | Gets an image pixel. |
virtual GetSerializedStream(ImageOptionsBase, Rectangle, out int) | Converts to aps. |
GetSkewAngle() | Gets the skew angle. This method is applicable to scanned text documents, to determine the skew angle when scanning. |
override Grayscale() | Transformation of an image to its grayscale representation |
LoadArgb32Pixels(Rectangle) | Loads 32-bit ARGB pixels. |
LoadArgb64Pixels(Rectangle) | Loads 64-bit ARGB pixels. |
LoadCmyk32Pixels(Rectangle) | Loads pixels in CMYK format. |
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) | Loads 32-bit ARGB pixels partially by packs. |
LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) | Loads 64-bit ARGB pixels partially by packs. |
LoadPartialPixels(Rectangle, IPartialPixelLoader) | Loads pixels partially by packs. |
LoadPixels(Rectangle) | Loads pixels. |
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) | Loads raw data. |
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) | Loads raw data. |
NormalizeAngle() | Normalizes the angle. This method is applicable to scanned text documents to get rid of the skewed scan. This method uses GetSkewAngle and Rotate methods. |
virtual NormalizeAngle(bool, Color) | Normalizes the angle. This method is applicable to scanned text documents to get rid of the skewed scan. This method uses GetSkewAngle and Rotate methods. |
ReadArgb32ScanLine(int) | Reads the whole scan line by the specified scan line index. |
ReadScanLine(int) | Reads the whole scan line by the specified scan line index. |
override RemoveMetadata() | Removes this image instance metadata by setting this XmpData value to null . |
ReplaceColor(Color, byte, Color) | Replaces one color to another with allowed difference and preserves original alpha value to save smooth edges. |
virtual ReplaceColor(int, byte, int) | Replaces one color to another with allowed difference and preserves original alpha value to save smooth edges. |
ReplaceNonTransparentColors(Color) | Replaces all non-transparent colors with new color and preserves original alpha value to save smooth edges. Note: if you use it on images without transparency, all colors will be replaced with a single one. |
virtual ReplaceNonTransparentColors(int) | Replaces all non-transparent colors with new color and preserves original alpha value to save smooth edges. Note: if you use it on images without transparency, all colors will be replaced with a single one. |
Resize(int, int) | Resizes the image. The default NearestNeighbourResample is used. |
override Resize(int, int, ImageResizeSettings) | Resizes the image. |
override Resize(int, int, ResizeType) | Resizes the image. |
ResizeHeightProportionally(int) | Resizes the height proportionally. The default NearestNeighbourResample is used. |
virtual ResizeHeightProportionally(int, ImageResizeSettings) | Resizes the height proportionally. |
virtual ResizeHeightProportionally(int, ResizeType) | Resizes the height proportionally. |
ResizeWidthProportionally(int) | Resizes the width proportionally. The default NearestNeighbourResample is used. |
virtual ResizeWidthProportionally(int, ImageResizeSettings) | Resizes the width proportionally. |
virtual ResizeWidthProportionally(int, ResizeType) | Resizes the width proportionally. |
override Rotate(float) | Rotate image around the center. |
override Rotate(float, bool, Color) | Rotate image around the center. |
override RotateFlip(RotateFlipType) | Rotates, flips, or rotates and flips the image. |
Save() | Saves the image data to the underlying stream. |
Save(Stream) | Saves the object’s data to the specified stream. |
override Save(string) | Saves the image to the specified file location. |
Save(Stream, ImageOptionsBase) | Saves the image’s data to the specified stream in the specified file format according to save options. |
virtual Save(string, bool) | Saves the object’s data to the specified file location. |
virtual Save(string, ImageOptionsBase) | Saves the object’s data to the specified file location in the specified file format according to save options. |
override Save(Stream, ImageOptionsBase, Rectangle) | Saves the image’s data to the specified stream in the specified file format according to save options. |
virtual Save(string, ImageOptionsBase, Rectangle) | Saves the object’s data to the specified file location in the specified file format according to save options. |
SaveArgb32Pixels(Rectangle, int[]) | Saves the 32-bit ARGB pixels. |
SaveCmyk32Pixels(Rectangle, int[]) | Saves the pixels. |
SavePixels(Rectangle, Color[]) | Saves the pixels. |
SaveRawData(byte[], int, Rectangle, RawDataSettings) | Saves the raw data. |
SetArgb32Pixel(int, int, int) | Sets an image 32-bit ARGB pixel for the specified position. |
override SetPalette(IColorPalette, bool) | Sets the image palette. |
SetPixel(int, int, Color) | Sets an image pixel for the specified position. |
virtual SetResolution(double, double) | Sets the resolution for this RasterImage . |
virtual ToBitmap() | Converts raster image to the bitmap. This method is not supported in versions from .Net7.0 and higher |
WriteArgb32ScanLine(int, int[]) | Writes the whole scan line to the specified scan line index. |
WriteScanLine(int, Color[]) | Writes the whole scan line to the specified scan line index. |
Examples
This example shows how to load a DNG image from a file, print its properties and save it to PNG.
[C#]
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "test.dng"))
{
Aspose.Imaging.FileFormats.Dng.DngImage dngImage = (Aspose.Imaging.FileFormats.Dng.DngImage) image;
Aspose.Imaging.FileFormats.Dng.Decoder.RawData rawData = dngImage.ImgData;
Aspose.Imaging.FileFormats.Dng.Decoder.ImageParameters parameters = rawData.ImageDataParameters;
if (parameters != null)
{
System.Console.WriteLine("The camera manufacturer: {0}", parameters.CameraManufacturer);
System.Console.WriteLine("The camera model: {0}", parameters.Model);
System.Console.WriteLine("The colors count: {0}", parameters.ColorsCount);
System.Console.WriteLine("The colors description: {0}", parameters.Description);
System.Console.WriteLine("The DNG version: {0}", parameters.DngVersion);
System.Console.WriteLine("The number of RAW images in the file: {0}", parameters.RawCount);
System.Console.WriteLine("The software: {0}", parameters.Software);
System.Console.WriteLine("The order of the color pixels: {0}", System.Convert.ToString(parameters.Filters, 2));
string[] translationCfaDng = parameters.TranslationCfaDng;
if (translationCfaDng != null)
{
System.Console.WriteLine("The translation array for CFA mosaic {0}:", translationCfaDng.Length);
foreach (string s in translationCfaDng)
{
System.Console.WriteLine("- {0}", s);
}
}
}
Aspose.Imaging.FileFormats.Dng.Decoder.ImageOtherParameters otherParameters = rawData.ImageOtherParameters;
if (otherParameters != null)
{
System.Console.WriteLine("The aperture: {0}", otherParameters.Aperture);
//System.Console.WriteLine("The author: {0}", otherParameters.Artist);
System.Console.WriteLine("The description: {0}", otherParameters.Description);
System.Console.WriteLine("The focal length: {0}", otherParameters.FocalLength);
System.Console.WriteLine("The ISO sensitivity: {0}", otherParameters.IsoSpeed);
System.Console.WriteLine("The serial number of the image: {0}", otherParameters.ShotOrder);
System.Console.WriteLine("The shutter speed: {0}", otherParameters.ShutterSpeed);
System.Console.WriteLine("The date of shooting: {0}", System.DateTime.FromFileTime(otherParameters.Timestamp));
}
// Export to PNG with default options.
dngImage.Save(dir + "test.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
// The camera manufacturer: Leica
// The camera model: M8 Digital Camera
// The colors count: 3
// The colors description: RGBG
// The DNG version: 16777216
// The number of RAW images in the file: 1
// The software: 1.107
// The order of the color pixels: 10110100101101001011010010110100
// The aperture: 0
// The description:
// The focal length: 50
// The ISO sensitivity: 160
// The serial number of the image: 0
// The shutter speed: 12
// The date of shooting: 8/3/2007 3:13:49 AM
See Also
- class RasterCachedImage
- namespace Aspose.Imaging.FileFormats.Dng
- assembly Aspose.Imaging