Full Name |
HD Photo (Windows Media Photo) |
Format ID |
ImGearFormats.HDPHOTO |
File Extension(s) |
*.wdp |
Data Type |
Raster Image |
Data Encoding |
Binary |
Multi-Page Support |
No |
Alpha Channel Support |
Yes |
Metadata Update Support |
No |
ImageGear Platforms Support |
Win32 (DLL only), Win64, .NET, .NET64 |
ImageGear Supported Versions
- Version 1.0 - First public release.
ImageGear Supported Features
- IGFilterFormatFlags.DETECTSUPPORT - autodetection
- IGFilterFormatFlags.PAGEREADSUPPORT - single page file reading
- IGFilterFormatFlags.PAGEINSERTSUPPORT - single-page file writing
ImageGear Read Support
- ImGearCompressions.AUTO:
-
- Indexed RGB: 1 bpp;
- Grayscale: 1, 8, 16 bpp;
- RGB: 24, 48 bpp
- RGBA: 32, 64 bpp
- RGBPA: 32, 64 bpp;
- CMYK: 32, 64 bpp;
- CMYKEx: 40, 80 bpp
ImageGear Write Support
- ImGearCompressions.AUTO:
-
- Indexed RGB: 1 bpp;
- Grayscale: 1, 8, 16 bpp;
- RGB: 24, 48 bpp;
- RGBA: 32, 64 bpp;
- RGBPA: 32, 64 bpp;
- CMYK: 32 bpp
ImageGear Filter Control Parameters
Filter Control Parameter |
Type |
Default Value |
Available Values |
Description |
Lossless |
Boolean |
False |
False,
True |
Set to True to use lossless compression during save. |
ImageQuality |
Single |
0.9 |
0 to 1.0 |
Image quality level. 1.0 represents lossless compression. |
UseAdvancedParameters |
Boolean |
False |
False, True |
When true, QualityLevel, OverlapLevel, and SubsamplingLevel are used in place of the ImageQualityLevel. When false, QualityLevel, OverlapLevel, and SubsamplingLevel are set based on ImageQualityLevel |
Advanced.Quality |
Byte |
1 |
0..255 |
Controls quantization of the main image. A value of 1 sets lossless mode (no quantization). Increasing values result in greater quantization and thus greater compression ratios and lower image quality. This parameter is tightly related with Advanced.Subsampling and Advanced.Overlap parameters, and its behavior may differ depending on source image content. If the application needs a single parameter to control image quality, the use of the basic ImageQuality parameter is recommended. |
Advanced.Overlap |
Byte |
1 |
0,1,2 |
0 - No overlap processing is enabled;
1 - One level of overlap processing is enabled. Encoded values of 4x4 blocks are modified based on the values of neighboring blocks;
2 - Two levels of overlap processing are enabled. In addition to the first level of processing, encoded values of 16x16 macro blocks are modified based on the values of neighboring macro blocks. |
Advanced.Subsampling |
Byte |
3 |
0, 1, 2, 3 |
0 - 4:0:0 encoding. Chroma content is discarded, luminance is preserved.
1 - 4:2:0 encoding. Chroma resolution is reduced by 1/4 of luminance resolution.
2 - 4:2:2 encoding. Chroma resolution is reduced to 1/2 of luminance resolution.
3 - 4:4:4 encoding. Chroma resolution is preserved. |
Advanced.HorizontalTileSlices |
Short |
0 |
0..4095 |
The number of horizontal divisions to use during compression encoding. |
Advanced.VerticalTileSlices |
Short |
0 |
0..4095 |
The number of vertical divisions to use during compression encoding. |
Advanced.FrequencyOrder |
Boolean |
True |
False,
True |
True to encode the image in frequency order; False to encode the image by its spatial orientation. |
Advanced.InterleavedAlpha |
Boolean |
False |
False,
True |
True if the image is to be encoded with an additional interleaved alpha channel; False if planar alpha channel is to be used. |
Advanced.AlphaQuality |
Byte |
1 |
0..255 |
The compression quality for a planar alpha channel image. A value of 1 is considered lossless. |
Advanced.CompressedDomainTranscode |
Boolean |
True |
False,
True |
True if compressed domain operations can be used. |
Advanced.ImageDataDiscard |
Byte |
1 |
0, 1, 2, 3 |
0 - No image frequency data is discarded.
1 - FlexBits are discarded. The image quality of the image is reduced without changing the effective resolution of the image.
2 - HighPass frequency data band is discarded. The image's effective resolution is reduced by a factor of 4 in both dimensions.
3 - HighPass and LowPass frequency data bands are discarded. The image's effective resolution is reduced by a factor of 16 in both dimensions |
Advanced.AlphaDataDiscard |
Byte |
1 |
0..4 |
0 - No image frequency data is discarded.
1 - FlexBits are discarded. The image quality of the image is reduced without changing the effective resolution of the image.
2 - HighPass frequency data band is discarded. The image's effective resolution is reduced by a factor of 4 in both dimensions.
3 - HighPass and LowPass frequency data bands are discarded. The image's effective resolution is reduced by a factor of 16 in both dimensions.
4 - The alpha channel is completely discarded. The pixel format is changed to reflect the removal of the alpha channel. |
Advanced.IgnoreOverlap |
Boolean |
False |
False,
True |
True if overlap is ignored. This value is only valid when CompressedDomainTranscode is true and a sub-region encode is requested. |
Non-Image Data Structure
HD Photo file format has different non-image data that can be stored before and after an image data. The HD Photo metadata design allows reading and writing the following non-image data (exactly like in System.Windows.Media.Imaging.BitmapMetadata; strings by default):
Tag Name |
ID |
Description |
ApplicationName |
ImGearHDPhotoTagIDs.APPLICATION_NAME |
Gets or sets a value that identifies the name of the application that was used to construct or alter an image file. |
Author (collection of strings) |
ImGearHDPhotoTagIDs.AUTHORS Single author is ImGearHDPhotoTagIDs.AUTHOR |
Gets or sets a value that represents the author of an image. |
CameraManufacturer |
ImGearHDPhotoTagIDs.CAMERA_MANUFACTURER |
Gets or sets a value that identifies the camera manufacturer that is associated with an image. |
CameraModel |
ImGearHDPhotoTagIDs.CAMERA_MODEL |
Gets or sets a value that identifies the camera model that was used to capture the image. |
Comment |
ImGearHDPhotoTagIDs.COMMENT |
Gets or sets a value that represents a comment that is associated with the image file. |
Copyright |
ImGearHDPhotoTagIDs.COPYRIGHT |
Gets or sets a value that indicates copyright information that is associated with the image file. |
DateTaken |
ImGearHDPhotoTagIDs.DATE_TAKEN |
Gets or sets a value that indicates the date that the image was taken. |
Keywords (collection of strings ) |
ImGearHDPhotoTagIDs.KEYWORDS
Single keyword is ImGearHDPhotoTagIDs.KEYWORD |
Gets or sets a collection of keywords that describe the bitmap image. |
Rating (integer 0 to 5) |
ImGearHDPhotoTagIDs.RATING |
Gets or sets a value that identifies the image rating. |
Subject |
ImGearHDPhotoTagIDs.SUBJECT |
Gets or sets a value that indicates the subject matter of the bitmap image. |
Title |
ImGearHDPhotoTagIDs.TITLE |
Gets or sets a value that identifies the title of an image file. |
Comments
HD Photo, also known as Windows Media Photo (WMPhoto), is a new file format for continuous-tone still images, developed by Microsoft as a part of the Windows Media family that surpasses the limitations of existing image formats. HD Photo supports a wide range of features, including:
- Multiple color formats for display or print.
- Fixed or floating point high dynamic range, wide gamut image encoding.
- Lossless or high-quality lossy compression.
- Extremely efficient decoding for multiple resolutions and sub-regions.
- Minimal overhead for format conversion or transformations during decode.
HD Photo delivers a lightweight, high performance algorithm with a small memory footprint that enables practical, in-device encoding and decoding. HD Photo delivers image quality that is comparable to JPEG-2000 and more than twice the quality of JPEG.