Class RasterCachedImage

Class RasterCachedImage

名称: Aspose.Imaging 收藏: Aspose.Imaging.dll (25.4.0)

代表支持拉斯特图形操作的拉斯特图像,此图像在需要时存储像素数据。

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

Inheritance

object DisposableObject DataStreamSupporter Image RasterImage RasterCachedImage

Derived

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

Implements

IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata

继承人

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

下面的例子将彩色拉斯特隐藏的图像转化为其灰色图像,灰色图像仅由灰色的阴影组成,仅提供强度信息。

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()

启动了 Aspose.Imaging.RasterCachedImage 类的新例子。

protected RasterCachedImage()

RasterCachedImage(色彩色彩)

启动了 Aspose.Imaging.RasterCachedImage 类的新例子。

protected RasterCachedImage(IColorPalette colorPalette)

Parameters

colorPalette IColorPalette

颜色板。

Properties

IsCached

收到一个值,表明图像数据是否目前被隐藏。

public override bool IsCached { get; }

财产价值

bool

Methods

AdjustBrightness(因特)

调整图像的亮度。

public override void AdjustBrightness(int brightness)

Parameters

brightness int

光的价值。

Examples

下面的例子执行了拉斯特隐藏的图像的亮度纠正。

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(航海)

图像对比

public override void AdjustContrast(float contrast)

Parameters

contrast float

对比值(在范围内(100;100)

Examples

下面的例子是对一个拉斯特隐藏的图像进行对比纠正。

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(航海、航海、航海)

图像的Gamma修复。

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

Parameters

gammaRed float

红频率的Gamma

gammaGreen float

绿色频道的Gamma

gammaBlue float

蓝色频道的Gamma

Examples

下面的例子是对彩色组件应用不同的坐标的拉斯特隐藏图像的伽马修复。

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(航海)

图像的Gamma修复。

public override void AdjustGamma(float gamma)

Parameters

gamma float

红色、绿色和蓝色频道的Gamma

Examples

下面的例子是拉斯特隐藏的图像的伽马修复。

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(双重, int)

使用布拉德利的适应边界算法进行图像二元化,使用整体图像边界

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

像素之间的亮度差异和一个 s x s 窗口的像素在这个像素周围的平均差异。

windowSize int

这个像素周围集中的像素的 x s 窗口的尺寸

Examples

下面的例子与布拉德利的适应边界算法与指定的窗口大小双重化图像仅含有2种颜色 - 黑色和白色。

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(双重)

使用布拉德利的适应边界算法进行图像二元化,使用整体图像边界

public override void BinarizeBradley(double brightnessDifference)

Parameters

brightnessDifference double

像素之间的亮度差异和一个 s x s 窗口的像素在这个像素周围的平均差异。

Examples

下面的例子与布拉德利的适应性边界算法相结合,双色图像只包含2种颜色 - 黑色和白色。

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(比特)

图像的二元化与预先定义边界

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

如果一个像素的相应灰色值超过边界,则将分配给它255的值,否则将分配给它0。

Examples

下面的例子二元化了一个预先定义边界的拉斯特隐藏的图像,二元化图像只包含2种颜色 - 黑色和白色。

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()

图像的二元化与 Otsu 边界

public override void BinarizeOtsu()

Examples

下面的例子二元化了一个拉斯特隐藏的图像与Otsu边界。

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(点, RasterImage, Rectangle, byte)

将此图像示例与 overlay’ 图像混合。

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

Parameters

origin Point

背景图像混合起源。

overlay RasterImage

超越的形象。

overlayArea Rectangle

超级区域。

overlayAlpha byte

超级阿尔法。

CacheData()

隐藏数据并确保没有额外的数据加载将从基础 Aspose.Imaging.DataStreamSupporter.DataStreamContainer 进行。

public override void CacheData()

Examples

下面的例子表明,拉斯特图像缓存如何影响性能. 一般情况下,阅读缓存数据比阅读未缓存数据更快。

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)

打破图像。

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

直角。

Examples

下面的例子将种植一个拉斯特隐藏的图像. 种植区域通过 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)

表现在当前图像上旋转。

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

Parameters

ditheringMethod DitheringMethod

定位方法。

bitsCount int

最后的比特数为Ditering。

customPalette IColorPalette

可用于Ditering的配件。

Grayscale()

将图像转化为其灰色代表性

public override void Grayscale()

Examples

下面的例子将彩色拉斯特隐藏的图像转化为其灰色图像,灰色图像仅由灰色的阴影组成,仅提供强度信息。

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()

正常化图像 histogram - 调整像素值使用所有可用的范围。

public override void NormalizeHistogram()

OnCached()

被称为当数据被隐藏并所有相关资源可能被分配。

protected virtual void OnCached()

OnPaletteChanged(色彩,色彩,色彩)

被称为当板块变更时。

protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

旧的板块。

newPalette IColorPalette

新的板块。

Resize(int , int , resizeType)

恢复图像。

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

Parameters

newWidth int

新的宽度。

newHeight int

新高度。

resizeType ResizeType

回归类型。

Examples

这个例子加载了一个拉斯特隐藏的图像,并使用各种重复方法重新编辑它。

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)

恢复图像。

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

Parameters

newWidth int

新的宽度。

newHeight int

新高度。

settings ImageResizeSettings

重新设置。

Examples

此示例加载了拉斯特隐藏的图像,并使用各种重复设置重复。

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(彩色 , 彩色 , 彩色)

旋转图像周围的中心。

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

Parameters

angle float

旋转的角度在度,积极的值会旋转时钟。

resizeProportionally bool

如果设置为“真实”,您的图像大小将根据旋转直角(角点)的投影而改变,否则它会使尺寸不受触摸,只有内部图像内容被旋转。

backgroundColor Color

背景的颜色。

RotateFlip(RotateFlipType)

旋转,滑动,或旋转和滑动图像。

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

旋转的Flip类型。

Examples

这个例子加载了拉斯特隐藏的图像,旋转了它90度时钟,并可选地垂直和(或)垂直滑动图像。

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");
                                                                                                                                                           }
                                                                                                                                                       }
 中文