mirror of https://github.com/SixLabors/ImageSharp
Browse Source
Former-commit-id: 40d6b11321e75d800299ed93368cc629411692af Former-commit-id: fe1ce463f33c93ef092b9bb9652128851e4130bf Former-commit-id: 1420fe512ea88a7b4f02cf5cbc327e6ddc04a2bdaf/merge-core
12 changed files with 477 additions and 281 deletions
@ -0,0 +1,274 @@ |
|||||
|
namespace BitMiracle.LibJpeg |
||||
|
{ |
||||
|
using BitMiracle.LibJpeg.Classic; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Holds parameters of image for decompression (IDecomressDesination)
|
||||
|
/// </summary>
|
||||
|
class LoadedImageAttributes |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// The m_colorspace.
|
||||
|
/// </summary>
|
||||
|
private Colorspace m_colorspace; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// The m_quantize colors.
|
||||
|
/// </summary>
|
||||
|
private bool m_quantizeColors; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// The m_width.
|
||||
|
/// </summary>
|
||||
|
private int m_width; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// The m_height.
|
||||
|
/// </summary>
|
||||
|
private int m_height; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// The m_components per sample.
|
||||
|
/// </summary>
|
||||
|
private int m_componentsPerSample; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// The m_components.
|
||||
|
/// </summary>
|
||||
|
private int m_components; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// The m_actual number of colors.
|
||||
|
/// </summary>
|
||||
|
private int m_actualNumberOfColors; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// The m_colormap.
|
||||
|
/// </summary>
|
||||
|
private byte[][] m_colormap; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// The m_density unit.
|
||||
|
/// </summary>
|
||||
|
private DensityUnit m_densityUnit; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// The m_density x.
|
||||
|
/// </summary>
|
||||
|
private int m_densityX; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// The m_density y.
|
||||
|
/// </summary>
|
||||
|
private int m_densityY; |
||||
|
|
||||
|
/* Decompression processing parameters --- these fields must be set before |
||||
|
* calling jpeg_start_decompress(). Note that jpeg_read_header() initializes |
||||
|
* them to default values. |
||||
|
*/ |
||||
|
|
||||
|
// colorspace for output
|
||||
|
/// <summary>
|
||||
|
/// Gets the colorspace.
|
||||
|
/// </summary>
|
||||
|
public Colorspace Colorspace |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_colorspace; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_colorspace = value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// true=colormapped output wanted
|
||||
|
/// <summary>
|
||||
|
/// Gets a value indicating whether quantize colors.
|
||||
|
/// </summary>
|
||||
|
public bool QuantizeColors |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_quantizeColors; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_quantizeColors = value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/* Description of actual output image that will be returned to application. |
||||
|
* These fields are computed by jpeg_start_decompress(). |
||||
|
* You can also use jpeg_calc_output_dimensions() to determine these values |
||||
|
* in advance of calling jpeg_start_decompress(). |
||||
|
*/ |
||||
|
|
||||
|
// scaled image width
|
||||
|
/// <summary>
|
||||
|
/// Gets the width.
|
||||
|
/// </summary>
|
||||
|
public int Width |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_width; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_width = value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// scaled image height
|
||||
|
/// <summary>
|
||||
|
/// Gets the height.
|
||||
|
/// </summary>
|
||||
|
public int Height |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_height; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_height = value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// # of color components in out_color_space
|
||||
|
/// <summary>
|
||||
|
/// Gets the components per sample.
|
||||
|
/// </summary>
|
||||
|
public int ComponentsPerSample |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_componentsPerSample; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_componentsPerSample = value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// # of color components returned. it is 1 (a colormap index) when
|
||||
|
// quantizing colors; otherwise it equals out_color_components.
|
||||
|
/// <summary>
|
||||
|
/// Gets the components.
|
||||
|
/// </summary>
|
||||
|
public int Components |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_components; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_components = value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/* When quantizing colors, the output colormap is described by these fields. |
||||
|
* The application can supply a colormap by setting colormap non-null before |
||||
|
* calling jpeg_start_decompress; otherwise a colormap is created during |
||||
|
* jpeg_start_decompress or jpeg_start_output. |
||||
|
* The map has out_color_components rows and actual_number_of_colors columns. |
||||
|
*/ |
||||
|
|
||||
|
// number of entries in use
|
||||
|
/// <summary>
|
||||
|
/// Gets the actual number of colors.
|
||||
|
/// </summary>
|
||||
|
public int ActualNumberOfColors |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_actualNumberOfColors; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_actualNumberOfColors = value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// The color map as a 2-D pixel array
|
||||
|
/// <summary>
|
||||
|
/// Gets the colormap.
|
||||
|
/// </summary>
|
||||
|
public byte[][] Colormap |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_colormap; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_colormap = value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// These fields record data obtained from optional markers
|
||||
|
// recognized by the JPEG library.
|
||||
|
|
||||
|
// JFIF code for pixel size units
|
||||
|
/// <summary>
|
||||
|
/// Gets the density unit.
|
||||
|
/// </summary>
|
||||
|
public DensityUnit DensityUnit |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_densityUnit; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_densityUnit = value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// Horizontal pixel density
|
||||
|
/// <summary>
|
||||
|
/// Gets the density x.
|
||||
|
/// </summary>
|
||||
|
public int DensityX |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_densityX; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_densityX = value; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// Vertical pixel density
|
||||
|
/// <summary>
|
||||
|
/// Gets the density y.
|
||||
|
/// </summary>
|
||||
|
public int DensityY |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
return this.m_densityY; |
||||
|
} |
||||
|
|
||||
|
internal set |
||||
|
{ |
||||
|
this.m_densityY = value; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,3 @@ |
|||||
|
version https://git-lfs.github.com/spec/v1 |
||||
|
oid sha256:048c66eb1d5257d36319da28ca24837429e0604682e4ebb74778175fbbb18db9 |
||||
|
size 49595 |
||||
Loading…
Reference in new issue