This abstract class is the base for Bitmap and
System.Drawing.Imaging.Metafile.
Microsoft's documentation claims that it is also the
base for Icon, but this is not in fact the case in
the first release of the framework.
It serves to define a drawing that has its own
Page coordinate space, including a
Size, HorizontalResolution, and
VerticalResolution. It also supports multiframe
images, in a variety of different dimensions such as time and
resolution, as defined in the
System.Drawing.Imaging.FrameDimension class.
Images can be drawn using the Graphics.DrawImage() method.
public abstract class Image : MarshalByRefObject :
System.Runtime.Serialization.ISerializable, ICloneable, IDisposable {
// Public Instance Properties
public int Flags{get; }
public Guid[ ] FrameDimensionsList{get; }
public int Height{get; }
public float HorizontalResolution{get; }
public ColorPalette Palette{set; get; }
public SizeF PhysicalDimension{get; }
public PixelFormat PixelFormat{get; }
public int[ ] PropertyIdList{get; }
public PropertyItem[ ] PropertyItems{get; }
public ImageFormat RawFormat{get; }
public Size Size{get; }
public float VerticalResolution{get; }
public int Width{get; }
// Public Static Methods
public static Image FromFile(string filename);
public static Image FromFile(string filename, bool useEmbeddedColorManagement);
public static Bitmap FromHbitmap(IntPtr hbitmap);
public static Bitmap FromHbitmap(IntPtr hbitmap, IntPtr hpalette);
public static Image FromStream(System.IO.Stream stream);
public static Image FromStream(System.IO.Stream stream, bool useEmbeddedColorManagement);
public static int GetPixelFormatSize(System.Drawing.Imaging.PixelFormat pixfmt);
public static bool IsAlphaPixelFormat(System.Drawing.Imaging.PixelFormat pixfmt);
public static bool IsCanonicalPixelFormat(System.Drawing.Imaging.PixelFormat pixfmt);
public static bool IsExtendedPixelFormat(System.Drawing.Imaging.PixelFormat pixfmt);
// Public Instance Methods
public object Clone(); // implements ICloneable
public void Dispose(); // implements IDisposable
public RectangleF GetBounds(ref GraphicsUnit pageUnit);
public EncoderParameters GetEncoderParameterList(Guid encoder);
public int GetFrameCount(System.Drawing.Imaging.FrameDimension dimension);
public PropertyItem GetPropertyItem(int propid);
public Image GetThumbnailImage(int thumbWidth, int thumbHeight, GetThumbnailImageAbort callback,
IntPtr callbackData);
public void RemovePropertyItem(int propid);
public void RotateFlip(RotateFlipType rotateFlipType);
public void Save(System.IO.Stream stream, System.Drawing.Imaging.ImageCodecInfo encoder,
System.Drawing.Imaging.EncoderParameters encoderParams);
public void Save(System.IO.Stream stream, System.Drawing.Imaging.ImageFormat format);
public void Save(string filename);
public void Save(string filename, System.Drawing.Imaging.ImageCodecInfo encoder,
System.Drawing.Imaging.EncoderParameters encoderParams);
public void Save(string filename, System.Drawing.Imaging.ImageFormat format);
public void SaveAdd(System.Drawing.Imaging.EncoderParameters encoderParams);
public void SaveAdd(Image image, System.Drawing.Imaging.EncoderParameters encoderParams);
public int SelectActiveFrame(System.Drawing.Imaging.FrameDimension dimension, int frameIndex);
public void SetPropertyItem(System.Drawing.Imaging.PropertyItem propitem);
// Protected Instance Methods
protected virtual void Dispose(bool disposing);
protected override void Finalize(); // overrides object
}