Class RasterCachedImage

Class RasterCachedImage

Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.4.0)

Represents a raster image supporting raster graphics operations. This image caches pixel data when required.

public abstract class RasterCachedImage : RasterImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata

Inheritance

objectDisposableObjectDataStreamSupporterImageRasterImageRasterCachedImage

Derived

ApngFrame, AvifImage, BmpImage, DicomPage, DjvuPage, DjvuRaster, DngImage, GifFrameBlock, Jpeg2000Image, JpegImage, PngImage, RasterCachedMultipageImage, TgaImage, TiffFrame, WebPFrameBlock

Implements

IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata

Inherited Members

RasterImage.xmpData, RasterImage.RemoveMetadata(), RasterImage.Save(Stream, ImageOptionsBase, Rectangle), RasterImage.GetModifyDate(bool), RasterImage.Dither(DitheringMethod, int), RasterImage.Dither(DitheringMethod, int, IColorPalette), RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader), RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings), RasterImage.GetDefaultArgb32Pixels(Rectangle), RasterImage.GetDefaultRawData(Rectangle, RawDataSettings), RasterImage.GetArgb32Pixel(int, int), RasterImage.GetPixel(int, int), RasterImage.SetArgb32Pixel(int, int, int), RasterImage.SetPixel(int, int, Color), RasterImage.ReadScanLine(int), RasterImage.ReadArgb32ScanLine(int), RasterImage.WriteScanLine(int, Color[]), RasterImage.WriteArgb32ScanLine(int, int[]), RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader), RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader), RasterImage.LoadArgb32Pixels(Rectangle), RasterImage.LoadArgb64Pixels(Rectangle), RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader), RasterImage.LoadPixels(Rectangle), RasterImage.LoadCmykPixels(Rectangle), RasterImage.LoadCmyk32Pixels(Rectangle), RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader), RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader), RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings), RasterImage.SaveArgb32Pixels(Rectangle, int[]), RasterImage.SavePixels(Rectangle, Color[]), RasterImage.SaveCmykPixels(Rectangle, CmykColor[]), RasterImage.SaveCmyk32Pixels(Rectangle, int[]), RasterImage.SetResolution(double, double), RasterImage.SetPalette(IColorPalette, bool), RasterImage.Resize(int, int, ImageResizeSettings), RasterImage.Rotate(float, bool, Color), RasterImage.Rotate(float), RasterImage.BinarizeFixed(byte), RasterImage.BinarizeOtsu(), RasterImage.BinarizeBradley(double), RasterImage.BinarizeBradley(double, int), RasterImage.Blend(Point, RasterImage, Rectangle, byte), RasterImage.Blend(Point, RasterImage, byte), RasterImage.Grayscale(), RasterImage.NormalizeHistogram(), RasterImage.AdjustBrightness(int), RasterImage.AdjustContrast(float), RasterImage.AdjustGamma(float, float, float), RasterImage.AdjustGamma(float), RasterImage.GetSkewAngle(), RasterImage.NormalizeAngle(), RasterImage.NormalizeAngle(bool, Color), RasterImage.Filter(Rectangle, FilterOptionsBase), RasterImage.ReplaceColor(Color, byte, Color), RasterImage.ReplaceColor(int, byte, int), RasterImage.ReplaceNonTransparentColors(Color), RasterImage.ReplaceNonTransparentColors(int), RasterImage.ToBitmap(), RasterImage.ReleaseManagedResources(), RasterImage.UpdateMetadata(), RasterImage.UpdateDimensions(int, int), RasterImage.PremultiplyComponents, RasterImage.UseRawData, RasterImage.UpdateXmpData, RasterImage.XmpData, RasterImage.RawIndexedColorConverter, RasterImage.RawCustomColorConverter, RasterImage.RawFallbackIndex, RasterImage.RawDataSettings, RasterImage.UsePalette, RasterImage.RawDataFormat, RasterImage.RawLineSize, RasterImage.IsRawDataAvailable, RasterImage.HorizontalResolution, RasterImage.VerticalResolution, RasterImage.HasTransparentColor, RasterImage.HasAlpha, RasterImage.TransparentColor, RasterImage.ImageOpacity, RasterImage.DataLoader, Image.CanLoad(string), Image.CanLoad(string, LoadOptions), Image.CanLoad(Stream), Image.CanLoad(Stream, LoadOptions), Image.Create(ImageOptionsBase, int, int), Image.Create(Image[]), Image.Create(MultipageCreateOptions), Image.Create(string[], bool), Image.Create(string[]), Image.Create(Image[], bool), Image.GetFileFormat(string), Image.GetFileFormat(Stream), Image.GetFittingRectangle(Rectangle, int, int), Image.GetFittingRectangle(Rectangle, int[], int, int), Image.Load(string, LoadOptions), Image.Load(string), Image.Load(Stream, LoadOptions), Image.Load(Stream), Image.GetProportionalWidth(int, int, int), Image.GetProportionalHeight(int, int, int), Image.RemoveMetadata(), Image.CanSave(ImageOptionsBase), Image.Resize(int, int), Image.Resize(int, int, ResizeType), Image.Resize(int, int, ImageResizeSettings), Image.GetDefaultOptions(object[]), Image.GetOriginalOptions(), Image.ResizeWidthProportionally(int), Image.ResizeHeightProportionally(int), Image.ResizeWidthProportionally(int, ResizeType), Image.ResizeHeightProportionally(int, ResizeType), Image.ResizeWidthProportionally(int, ImageResizeSettings), Image.ResizeHeightProportionally(int, ImageResizeSettings), Image.RotateFlip(RotateFlipType), Image.Rotate(float), Image.Crop(Rectangle), Image.Crop(int, int, int, int), Image.Save(), Image.Save(string), Image.Save(string, ImageOptionsBase), Image.Save(string, ImageOptionsBase, Rectangle), Image.Save(Stream, ImageOptionsBase), Image.Save(Stream, ImageOptionsBase, Rectangle), Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int), Image.SetPalette(IColorPalette, bool), Image.UpdateContainer(Image), Image.GetCanNotSaveMessage(ImageOptionsBase), Image.GetFitRectangle(Rectangle), Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter), Image.GetFitRectangle(Rectangle, int[]), Image.OnPaletteChanged(IColorPalette, IColorPalette), Image.OnPaletteChanging(IColorPalette, IColorPalette), Image.ReleaseManagedResources(), Image.BitsPerPixel, Image.Bounds, Image.Container, Image.Height, Image.Palette, Image.UsePalette, Image.Size, Image.Width, Image.InterruptMonitor, Image.BufferSizeHint, Image.AutoAdjustPalette, Image.HasBackgroundColor, Image.FileFormat, Image.BackgroundColor, DataStreamSupporter.timeout, DataStreamSupporter.CacheData(), DataStreamSupporter.Save(), DataStreamSupporter.Save(Stream), DataStreamSupporter.Save(string), DataStreamSupporter.Save(string, bool), DataStreamSupporter.SaveData(Stream), DataStreamSupporter.ReleaseManagedResources(), DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer), DataStreamSupporter.DataStreamContainer, DataStreamSupporter.IsCached, DisposableObject.Dispose(), DisposableObject.ReleaseManagedResources(), DisposableObject.ReleaseUnmanagedResources(), DisposableObject.VerifyNotDisposed(), DisposableObject.Disposed, object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Examples

The following example transforms a colored raster cached image to its grayscale representation. Grayscale images are composed exclusively of shades of gray and carry only intensity information.

string dir = "c:\\temp\\";

                                                                                                                                                                                                            using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                                                            {
                                                                                                                                                                                                                Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                                                                                                                                                rasterImage.Grayscale();
                                                                                                                                                                                                                rasterImage.Save(dir + "sample.Grayscale.png");
                                                                                                                                                                                                            }

Constructors

RasterCachedImage()

Initializes a new instance of the Aspose.Imaging.RasterCachedImage class.

protected RasterCachedImage()

RasterCachedImage(IColorPalette)

Initializes a new instance of the Aspose.Imaging.RasterCachedImage class.

protected RasterCachedImage(IColorPalette colorPalette)

Parameters

colorPalette IColorPalette

The color palette.

Properties

IsCached

Gets a value indicating whether image data is cached currently.

public override bool IsCached { get; }

Property Value

bool

Methods

AdjustBrightness(int)

Adjust of a brightness for image.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Brightness value.

Examples

The following example performs brightness correction of a raster cached image.

string dir = "c:\\temp\\";

                                                                                         using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                         {
                                                                                             Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                             // Set the brightness value. The accepted values of brightness are in the range [-255, 255].
                                                                                             rasterImage.AdjustBrightness(50);
                                                                                             rasterImage.Save(dir + "sample.AdjustBrightness.png");
                                                                                         }

AdjustContrast(float)

Image contrasting

public override void AdjustContrast(float contrast)

Parameters

contrast float

Contrast value (in range [-100; 100])

Examples

The following example performs contrast correction of a raster cached image.

string dir = "c:\\temp\\";

                                                                                       using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                       {
                                                                                           Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                           // Set the contrast value. The accepted values of contrast are in the range [-100f, 100f].
                                                                                           rasterImage.AdjustContrast(50);
                                                                                           rasterImage.Save(dir + "sample.AdjustContrast.png");
                                                                                       }

AdjustGamma(float, float, float)

Gamma-correction of an image.

public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

Parameters

gammaRed float

Gamma for red channel coefficient

gammaGreen float

Gamma for green channel coefficient

gammaBlue float

Gamma for blue channel coefficient

Examples

The following example performs gamma-correction of a raster cached image applying different coefficients for color components.

string dir = "c:\\temp\\";

                                                                                                                                         using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                         {
                                                                                                                                             Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                                                                             // Set individual gamma coefficients for red, green and blue channels.
                                                                                                                                             rasterImage.AdjustGamma(1.5f, 2.5f, 3.5f);
                                                                                                                                             rasterImage.Save(dir + "sample.AdjustGamma.png");
                                                                                                                                         }

AdjustGamma(float)

Gamma-correction of an image.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma for red, green and blue channels coefficient

Examples

The following example performs gamma-correction of a raster cached image.

string dir = "c:\\temp\\";

                                                                                    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                    {
                                                                                        Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                        // Set gamma coefficient for red, green and blue channels.
                                                                                        rasterImage.AdjustGamma(2.5f);
                                                                                        rasterImage.Save(dir + "sample.AdjustGamma.png");
                                                                                    }

BinarizeBradley(double, int)

Binarization of an image using Bradley’s adaptive thresholding algorithm using the integral image thresholding

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

The brightness difference between pixel and the average of an s x s window of pixels centered around this pixel.

windowSize int

The size of s x s window of pixels centered around this pixel

Examples

The following example binarizes a raster cached image with Bradley’s adaptive thresholding algorithm with the specified window size. Binarized images contain only 2 colors - black and white.

string dir = "c:\\temp\\";

                                                                                                                                                                                                         using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                                                         {
                                                                                                                                                                                                             Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                                                                                                                                             // Binarize the image with a brightness difference of 5.
                                                                                                                                                                                                             // The brightness is a difference between a pixel and the average of an 10 x 10 window of pixels centered around this pixel.
                                                                                                                                                                                                             rasterImage.BinarizeBradley(5, 10);
                                                                                                                                                                                                             rasterImage.Save(dir + "sample.BinarizeBradley5_10x10.png");
                                                                                                                                                                                                         }

BinarizeBradley(double)

Binarization of an image using Bradley’s adaptive thresholding algorithm using the integral image thresholding

public override void BinarizeBradley(double brightnessDifference)

Parameters

brightnessDifference double

The brightness difference between pixel and the average of an s x s window of pixels centered around this pixel.

Examples

The following example binarizes a raster cached image with Bradley’s adaptive thresholding algorithm. Binarized images contain only 2 colors - black and white.

string dir = "c:\\temp\\";

                                                                                                                                                                          using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                          {
                                                                                                                                                                              Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                                                                                                              // Binarize the image with a brightness difference of 5. 
                                                                                                                                                                              // The brightness is a difference between a pixel and the average of an s x s window of pixels centered around this pixel.
                                                                                                                                                                              // The size of window will be calibrated automatically.
                                                                                                                                                                              rasterImage.BinarizeBradley(5);
                                                                                                                                                                              rasterImage.Save(dir + "sample.BinarizeBradley5.png");
                                                                                                                                                                          }

BinarizeFixed(byte)

Binarization of an image with predefined threshold

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Threshold value. If corresponding gray value of a pixel is greater than threshold, a value of 255 will be assigned to it, 0 otherwise.

Examples

The following example binarizes a raster cached image with the predefined threshold. Binarized images contain only 2 colors - black and white.

string dir = "c:\\temp\\";

                                                                                                                                                         using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                         {
                                                                                                                                                             Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                                                                                             // Binarize the image with a threshold value of 127.
                                                                                                                                                             // If a corresponding gray value of a pixel is greater than 127, a value of 255 will be assigned to it, 0 otherwise.
                                                                                                                                                             rasterImage.BinarizeFixed(127);
                                                                                                                                                             rasterImage.Save(dir + "sample.BinarizeFixed.png");
                                                                                                                                                         }

BinarizeOtsu()

Binarization of an image with Otsu thresholding

public override void BinarizeOtsu()

Examples

The following example binarizes a raster cached image with Otsu thresholding. Binarized images contain only 2 colors - black and white.

string dir = "c:\\temp\\";

                                                                                                                                                  using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                  {
                                                                                                                                                      Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                                                                                      // Binarize the image with Otsu thresholding.
                                                                                                                                                      rasterImage.BinarizeOtsu();
                                                                                                                                                      rasterImage.Save(dir + "sample.BinarizeOtsu.png");
                                                                                                                                                  }

Blend(Point, RasterImage, Rectangle, byte)

Blends this image instance with the overlay image.

public override void Blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha = 255)

Parameters

origin Point

The background image blending origin.

overlay RasterImage

The overlay image.

overlayArea Rectangle

The overlay area.

overlayAlpha byte

The overlay alpha.

CacheData()

Caches the data and ensures no additional data loading will be performed from the underlying Aspose.Imaging.DataStreamSupporter.DataStreamContainer.

public override void CacheData()

Examples

The following example shows how raster image caching affects performance. In general case, reading cached data is performed faster than reading non-cached data.

string dir = "c:\\temp\\";

                                                                                                                                                                           // Load an image from a PNG file.
                                                                                                                                                                           using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                           {
                                                                                                                                                                               // Cache all pixel data so that no additional data loading will be performed from the underlying data stream
                                                                                                                                                                               image.CacheData();

                                                                                                                                                                               System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
                                                                                                                                                                               stopwatch.Start();

                                                                                                                                                                               // Reading all pixels is pretty fast.
                                                                                                                                                                               for (int y = 0; y < image.Height; y++)
                                                                                                                                                                               {
                                                                                                                                                                                   for (int x = 0; x < image.Width; x++)
                                                                                                                                                                                   {
                                                                                                                                                                                       int color = image.GetArgb32Pixel(x, y);
                                                                                                                                                                                   }
                                                                                                                                                                               }

                                                                                                                                                                               stopwatch.Stop();
                                                                                                                                                                               System.Console.WriteLine("Reading all cached pixels took {0} ms.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                           }

                                                                                                                                                                           // Load an image from a PNG file
                                                                                                                                                                           using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                           {
                                                                                                                                                                               System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
                                                                                                                                                                               stopwatch.Start();

                                                                                                                                                                               // Reading all pixels is not as fast as when caching
                                                                                                                                                                               for (int y = 0; y < image.Height; y++)
                                                                                                                                                                               {
                                                                                                                                                                                   for (int x = 0; x < image.Width; x++)
                                                                                                                                                                                   {
                                                                                                                                                                                       int color = image.GetArgb32Pixel(x, y);
                                                                                                                                                                                   }
                                                                                                                                                                               }

                                                                                                                                                                               stopwatch.Stop();
                                                                                                                                                                               System.Console.WriteLine("Reading all pixels without preliminary caching took {0} ms.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                           }

                                                                                                                                                                           // The output may look like this:
                                                                                                                                                                           // Reading all cached pixels took 1500 ms.
                                                                                                                                                                           // Reading all pixels without preliminary caching took 150000 ms.

Crop(Rectangle)

Cropping the image.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

The rectangle.

Examples

The following example crops a raster cached image. The cropping area is be specified via Aspose.Imaging.Rectangle.

string dir = @"c:\temp\";

                                                                                                                             using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                             {
                                                                                                                                 Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                                                                 // Crop the image. The cropping area is the rectangular central area of the image.
                                                                                                                                 Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(rasterImage.Width / 4, rasterImage.Height / 4, rasterImage.Width / 2, rasterImage.Height / 2);
                                                                                                                                 rasterImage.Crop(area);

                                                                                                                                 // Save the cropped image to PNG
                                                                                                                                 rasterImage.Save(dir + "sample.Crop.png");
                                                                                                                             }

Dither(DitheringMethod, int, IColorPalette)

Performs dithering on the current image.

public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)

Parameters

ditheringMethod DitheringMethod

The dithering method.

bitsCount int

The final bits count for dithering.

customPalette IColorPalette

The custom palette for dithering.

Grayscale()

Transformation of an image to its grayscale representation

public override void Grayscale()

Examples

The following example transforms a colored raster cached image to its grayscale representation. Grayscale images are composed exclusively of shades of gray and carry only intensity information.

string dir = "c:\\temp\\";

                                                                                                                                                                                                            using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                                                            {
                                                                                                                                                                                                                Aspose.Imaging.RasterCachedImage rasterImage = (Aspose.Imaging.RasterCachedImage)image;

                                                                                                                                                                                                                rasterImage.Grayscale();
                                                                                                                                                                                                                rasterImage.Save(dir + "sample.Grayscale.png");
                                                                                                                                                                                                            }

NormalizeHistogram()

Normalizes the image histogram — adjust pixel values to use all available range.

public override void NormalizeHistogram()

OnCached()

Called when data is cached and all related resources may be de-allocated.

protected virtual void OnCached()

OnPaletteChanged(IColorPalette, IColorPalette)

Called when palette is changed.

protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

The old palette.

newPalette IColorPalette

The new palette.

Resize(int, int, ResizeType)

Resizes the image.

public override void Resize(int newWidth, int newHeight, ResizeType resizeType)

Parameters

newWidth int

The new width.

newHeight int

The new height.

resizeType ResizeType

The resize type.

Examples

This example loads a raster cached image and resizes it using various resizing methods.

string dir = "c:\\temp\\";

                                                                                                  using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                  {
                                                                                                      // Scale up by 2 times using Nearest Neighbour resampling.
                                                                                                      image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);                

                                                                                                      // Save to PNG with default options.
                                                                                                      image.Save(dir + "upsample.nearestneighbour.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                  }

                                                                                                  using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                  {
                                                                                                      // Scale down by 2 times using Nearest Neighbour resampling.
                                                                                                      image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);

                                                                                                      // Save to PNG with default options.
                                                                                                      image.Save(dir + "downsample.nearestneighbour.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                  }

                                                                                                  using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                  {
                                                                                                      // Scale up by 2 times using Bilinear resampling.
                                                                                                      image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.BilinearResample);

                                                                                                      // Save to PNG with default options.
                                                                                                      image.Save(dir + "upsample.bilinear.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                  }

                                                                                                  using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                  {
                                                                                                      // Scale down by 2 times using Bilinear resampling.
                                                                                                      image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.BilinearResample);

                                                                                                      // Save to PNG with default options.
                                                                                                      image.Save(dir + "downsample.bilinear.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                  }

Resize(int, int, ImageResizeSettings)

Resizes the image.

public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)

Parameters

newWidth int

The new width.

newHeight int

The new height.

settings ImageResizeSettings

The resize settings.

Examples

This example loads a raster cached image and resizes it using various resizing settings.

string dir = "c:\\temp\\";

                                                                                                   Aspose.Imaging.ImageResizeSettings resizeSettings = new Aspose.Imaging.ImageResizeSettings();

                                                                                                   // The adaptive algorithm based on weighted and blended rational function and lanczos3 interpolation.
                                                                                                   resizeSettings.Mode = Aspose.Imaging.ResizeType.AdaptiveResample;

                                                                                                   // The small rectangular filter
                                                                                                   resizeSettings.FilterType = Aspose.Imaging.ImageFilterType.SmallRectangular;

                                                                                                   // The number of colors in the palette.
                                                                                                   resizeSettings.EntriesCount = 256;

                                                                                                   // The color quantization is not used
                                                                                                   resizeSettings.ColorQuantizationMethod = ColorQuantizationMethod.None;

                                                                                                   // The euclidian method
                                                                                                   resizeSettings.ColorCompareMethod = ColorCompareMethod.Euclidian;

                                                                                                   using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                   {
                                                                                                       // Scale down by 2 times using adaptive resampling.
                                                                                                       image.Resize(image.Width / 2, image.Height / 2, resizeSettings);
                                                                                                       image.Save(dir + "downsample.adaptive.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                   }

Rotate(float, bool, Color)

Rotate image around the center.

public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)

Parameters

angle float

The rotate angle in degrees. Positive values will rotate clockwise.

resizeProportionally bool

if set to true you will have your image size changed according to rotated rectangle (corner points) projections in other case that leaves dimensions untouched and only internal image contents are rotated.

backgroundColor Color

Color of the background.

RotateFlip(RotateFlipType)

Rotates, flips, or rotates and flips the image.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

The rotate flip type.

Examples

This example loads a raster cached image, rotates it by 90 degrees clockwise and optionally flips the image horizontally and(or) vertically.

string dir = "c:\\temp\\";

                                                                                                                                                       Aspose.Imaging.RotateFlipType[] rotateFlipTypes = new Aspose.Imaging.RotateFlipType[]
                                                                                                                                                       {
                                                                                                                                                           Aspose.Imaging.RotateFlipType.Rotate90FlipNone,
                                                                                                                                                           Aspose.Imaging.RotateFlipType.Rotate90FlipX,
                                                                                                                                                           Aspose.Imaging.RotateFlipType.Rotate90FlipXY,
                                                                                                                                                           Aspose.Imaging.RotateFlipType.Rotate90FlipY,
                                                                                                                                                       };

                                                                                                                                                       foreach (Aspose.Imaging.RotateFlipType rotateFlipType in rotateFlipTypes)
                                                                                                                                                       {
                                                                                                                                                           // Rotate, flip and save to the output file.
                                                                                                                                                           using (Aspose.Imaging.RasterCachedImage image = (Aspose.Imaging.RasterCachedImage)Aspose.Imaging.Image.Load(dir + "sample.bmp"))
                                                                                                                                                           {
                                                                                                                                                               image.RotateFlip(rotateFlipType);
                                                                                                                                                               image.Save(dir + "sample." + rotateFlipType + ".bmp");
                                                                                                                                                           }
                                                                                                                                                       }