Class Image

Image class

The image is the base class for all type of images.

public abstract class Image : DataStreamSupporter, IObjectWithBounds

Properties

NameDescription
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.
abstract BitsPerPixel { get; }Gets the image bits per pixel count.
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.
virtual FileFormat { get; }Gets a value of file format
virtual HasBackgroundColor { get; set; }Gets or sets a value indicating whether image has background color.
abstract Height { get; }Gets the image height.
InterruptMonitor { get; set; }Gets or sets the interrupt monitor.
abstract IsCached { get; }Gets a value indicating whether object’s data is cached currently and no data reading is required.
Palette { get; set; }Gets or sets the color palette. The color palette is not used when pixels are represented directly.
Size { get; }Gets the image size.
virtual UsePalette { get; }Gets a value indicating whether the image palette is used.
abstract Width { get; }Gets the image width.

Methods

NameDescription
static Create(Image[])Creates a new image using the specified images as pages
static Create(MultipageCreateOptions)Creates the specified multipage create options.
static Create(string[])Creates the multipage image containing the specified files.
static Create(Image[], bool)Creates a new image the specified images as pages.
static Create(string[], bool)Creates the multipage image containing the specified files.
static Create(ImageOptionsBase, int, int)Creates a new image using the specified create options.
static Load(Stream)Loads a new image from the specified stream.
static Load(string)Loads a new image from the specified file path or URL. If filePath is a file path the method just opens the file. If filePath is an URL, the method downloads the file, stores it as a temporary one, and opens it.
static Load(Stream, LoadOptions)Loads a new image from the specified stream.
static Load(string, LoadOptions)Loads a new image from the specified file path or URL. If filePath is a file path the method just opens the file. If filePath is an URL, the method downloads the file, stores it as a temporary one, and opens it.
abstract 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.
virtual Crop(Rectangle)Crops the specified rectangle.
virtual Crop(int, int, int, int)Crop image with shifts.
Dispose()Disposes the current instance.
virtual GetDefaultOptions(object[])Gets the default options.
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.
virtual GetSerializedStream(ImageOptionsBase, Rectangle, out int)Converts to aps.
virtual RemoveMetadata()Removes metadata.
Resize(int, int)Resizes the image. The default NearestNeighbourResample is used.
abstract Resize(int, int, ImageResizeSettings)Resizes the image.
virtual 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.
virtual Rotate(float)Rotate image around the center.
abstract 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.
virtual 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.
abstract SetPalette(IColorPalette, bool)Sets the image palette.
static CanLoad(Stream)Determines whether image can be loaded from the specified stream.
static CanLoad(string)Determines whether image can be loaded from the specified file path.
static CanLoad(Stream, LoadOptions)Determines whether image can be loaded from the specified stream and optionally using the specified loadOptions.
static CanLoad(string, LoadOptions)Determines whether image can be loaded from the specified file path and optionally using the specified open options.
static GetFileFormat(Stream)Gets the file format.
static GetFileFormat(string)Gets the file format.
static GetFittingRectangle(Rectangle, int, int)Gets rectangle which fits the current image.
static GetFittingRectangle(Rectangle, int[], int, int)Gets rectangle which fits the current image.
static GetProportionalHeight(int, int, int)Gets a proportional height.
static GetProportionalWidth(int, int, int)Gets a proportional width.

Examples

Determine if the palette is used by the image.

[C#]

using (var image = Image.Load(folder + "Sample.bmp"))
{
    if (image.UsePalette)
    {
        Console.WriteLine("The palette is used by the image");
    }
}

Resize image using specific Resize Type.

[C#]

using (var image = Image.Load("Photo.jpg"))
{
    image.Resize(640, 480, ResizeType.CatmullRom);
    image.Save("ResizedPhoto.jpg");

    image.Resize(1024, 768, ResizeType.CubicConvolution);
    image.Save("ResizedPhoto2.jpg");

    var resizeSettings = new ImageResizeSettings
    {
        Mode = ResizeType.CubicBSpline,
        FilterType = ImageFilterType.SmallRectangular
    };

    image.Resize(800, 800, resizeSettings);
    image.Save("ResizedPhoto3.jpg");
}

This example creates a new Image file at some disk location as specified by Source property of the BmpOptions instance. Several properties for BmpOptions instance are set before creating the actual image. Especially the Source property, that refers to the actual disk location in this case.

[C#]

//Create an instance of BmpOptions and set its various properties
Aspose.Imaging.ImageOptions.BmpOptions bmpOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
bmpOptions.BitsPerPixel = 24;

//Create an instance of FileCreateSource and assign it as Source for the instance of BmpOptions
//Second Boolean parameter determines if the file to be created IsTemporal or not
bmpOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(@"C:\temp\output.bmp", false);

//Create an instance of Image and initialize it with instance of BmpOptions by calling Create method
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(bmpOptions, 500, 500))
{
    //do some image processing

    // save all changes
    image.Save();
}

See Also