📄 freeimagebitmap.cs
字号:
/// <param name="right">A <see cref="FreeImageBitmap"/> or a null reference (<b>Nothing</b> in Visual Basic).</param>
/// <returns>
/// true if the value of left is different from the value of right; otherwise, <b>false</b>.
/// </returns>
public static bool operator !=(FreeImageBitmap left, FreeImageBitmap right)
{
return !(left == right);
}
#endregion
#region Properties
/// <summary>
/// Type of the bitmap.
/// </summary>
public FREE_IMAGE_TYPE ImageType
{
get
{
EnsureNotDisposed();
return FreeImage.GetImageType(dib);
}
}
/// <summary>
/// Number of palette entries.
/// </summary>
public int ColorsUsed
{
get
{
EnsureNotDisposed();
return (int)FreeImage.GetColorsUsed(dib);
}
}
/// <summary>
/// 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.
/// </summary>
public int UniqueColors
{
get
{
EnsureNotDisposed();
return FreeImage.GetUniqueColors(dib);
}
}
/// <summary>
/// The size of one pixel in the bitmap in bits.
/// </summary>
public int ColorDepth
{
get
{
EnsureNotDisposed();
return (int)FreeImage.GetBPP(dib);
}
}
/// <summary>
/// Width of the bitmap in pixel units.
/// </summary>
public int Width
{
get
{
EnsureNotDisposed();
return (int)FreeImage.GetWidth(dib);
}
}
/// <summary>
/// Height of the bitmap in pixel units.
/// </summary>
public int Height
{
get
{
EnsureNotDisposed();
return (int)FreeImage.GetHeight(dib);
}
}
/// <summary>
/// Returns the width of the bitmap in bytes, rounded to the next 32-bit boundary.
/// </summary>
public int Pitch
{
get
{
EnsureNotDisposed();
return (int)FreeImage.GetPitch(dib);
}
}
/// <summary>
/// Size of the bitmap in memory.
/// </summary>
public int DataSize
{
get
{
EnsureNotDisposed();
return (int)FreeImage.GetDIBSize(dib);
}
}
/// <summary>
/// Returns a structure that represents the palette of a FreeImage bitmap.
/// </summary>
/// <exception cref="Exception"><see cref="HasPalette"/> is false.</exception>
public Palette Palette
{
get
{
EnsureNotDisposed();
if (HasPalette)
{
return new Palette(dib);
}
throw new Exception();
}
}
/// <summary>
/// Gets whether the bitmap is RGB 555.
/// </summary>
public bool IsRGB555
{
get
{
return FreeImage.IsRGB555(dib);
}
}
/// <summary>
/// Gets whether the bitmap is RGB 565.
/// </summary>
public bool IsRGB565
{
get
{
return FreeImage.IsRGB565(dib);
}
}
/// <summary>
/// Gets the horizontal resolution, in pixels per inch, of this <see cref="FreeImageBitmap"/>.
/// </summary>
public float HorizontalResolution
{
get
{
EnsureNotDisposed();
return (float)FreeImage.GetResolutionX(dib);
}
private set
{
EnsureNotDisposed();
FreeImage.SetResolutionX(dib, (uint)value);
}
}
/// <summary>
/// Gets the vertical resolution, in pixels per inch, of this <see cref="FreeImageBitmap"/>.
/// </summary>
public float VerticalResolution
{
get
{
EnsureNotDisposed();
return (float)FreeImage.GetResolutionY(dib);
}
private set
{
EnsureNotDisposed();
FreeImage.SetResolutionY(dib, (uint)value);
}
}
/// <summary>
/// Returns the <see cref="BITMAPINFOHEADER"/> structure of this <see cref="FreeImageBitmap"/>.
/// </summary>
public BITMAPINFOHEADER InfoHeader
{
get
{
EnsureNotDisposed();
return FreeImage.GetInfoHeaderEx(dib);
}
}
/// <summary>
/// Returns the <see cref="BITMAPINFO"/> structure of a this <see cref="FreeImageBitmap"/>.
/// </summary>
public BITMAPINFO Info
{
get
{
EnsureNotDisposed();
return FreeImage.GetInfoEx(dib);
}
}
/// <summary>
/// Investigates the color type of this <see cref="FreeImageBitmap"/>
/// by reading the bitmaps pixel bits and analysing them.
/// </summary>
public FREE_IMAGE_COLOR_TYPE ColorType
{
get
{
EnsureNotDisposed();
return FreeImage.GetColorType(dib);
}
}
/// <summary>
/// Bit pattern describing the red color component of a pixel in this <see cref="FreeImageBitmap"/>.
/// </summary>
public uint RedMask
{
get
{
EnsureNotDisposed();
return FreeImage.GetRedMask(dib);
}
}
/// <summary>
/// Bit pattern describing the green color component of a pixel in this <see cref="FreeImageBitmap"/>.
/// </summary>
public uint GreenMask
{
get
{
EnsureNotDisposed();
return FreeImage.GetGreenMask(dib);
}
}
/// <summary>
/// Bit pattern describing the blue color component of a pixel in this <see cref="FreeImageBitmap"/>.
/// </summary>
public uint BlueMask
{
get
{
EnsureNotDisposed();
return FreeImage.GetBlueMask(dib);
}
}
/// <summary>
/// Number of transparent colors in a palletised <see cref="FreeImageBitmap"/>.
/// </summary>
public int TransparencyCount
{
get
{
EnsureNotDisposed();
return (int)FreeImage.GetTransparencyCount(dib);
}
}
/// <summary>
/// Get or sets transparency table of this <see cref="FreeImageBitmap"/>.
/// </summary>
public byte[] TransparencyTable
{
get
{
EnsureNotDisposed();
return FreeImage.GetTransparencyTableEx(dib);
}
set
{
EnsureNotDisposed();
FreeImage.SetTransparencyTable(dib, value);
}
}
/// <summary>
/// Gets or sets whether this <see cref="FreeImageBitmap"/> is transparent.
/// </summary>
public bool IsTransparent
{
get
{
EnsureNotDisposed();
return FreeImage.IsTransparent(dib);
}
set
{
EnsureNotDisposed();
FreeImage.SetTransparent(dib, value);
}
}
/// <summary>
/// Gets whether this <see cref="FreeImageBitmap"/> has a file background color.
/// </summary>
public bool HasBackgroundColor
{
get
{
EnsureNotDisposed();
return FreeImage.HasBackgroundColor(dib);
}
}
/// <summary>
/// Gets or sets the background color of this <see cref="FreeImageBitmap"/>.
/// In case the value is null, the background color is removed.
/// </summary>
/// <exception cref="InvalidOperationException">Get: There is no background color available.</exception>
/// <exception cref="Exception">Set: Setting background color failed.</exception>
public Color? BackgroundColor
{
get
{
EnsureNotDisposed();
if (!FreeImage.HasBackgroundColor(dib))
{
throw new InvalidOperationException("No background color available.");
}
RGBQUAD rgbq;
FreeImage.GetBackgroundColor(dib, out rgbq);
return rgbq.Color;
}
set
{
EnsureNotDisposed();
if (!FreeImage.SetBackgroundColor(dib, (value.HasValue ? new RGBQUAD[] { value.Value } : null)))
{
throw new Exception("Setting background color failed.");
}
}
}
/// <summary>
/// Pointer to the data-bits of this <see cref="FreeImageBitmap"/>.
/// </summary>
public IntPtr Bits
{
get
{
EnsureNotDisposed();
return FreeImage.GetBits(dib);
}
}
/// <summary>
/// Width, in bytes, of this <see cref="FreeImageBitmap"/>.
/// </summary>
public int Line
{
get
{
EnsureNotDisposed();
return (int)FreeImage.GetLine(dib);
}
}
/// <summary>
/// Pointer to the scanline of the top most pixel row of this <see cref="FreeImageBitmap"/>.
/// </summary>
public IntPtr Scan0
{
get
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -