Class WebPImage

Class WebPImage

Името на пространството: Aspose.Imaging.FileFormats.Webp Асамблея: Aspose.Imaging.dll (25.4.0)

Манипулирайте изображенията на WebP с нашата API, като използвате нейните съвременни функции и за двете.Без загуба и без загуби компресия, осигуряване на оптимално качество на изображението с намалени размери на файлове.Безпроблемно се справя с разширените файлови формати, анимации и алфа канали, докато лесноактуализиране на измеренията, рециклиране пропорционално, гравиране, ротиране, прилагане на филтри,настройване на параметрите на изображението и конвертиране на други формати за многообразиеОптимизиране на уеб изображенията.

[JsonObject(MemberSerialization.OptIn)]
public sealed class WebPImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage

Inheritance

object DisposableObject DataStreamSupporter Image RasterImage RasterCachedImage RasterCachedMultipageImage WebPImage

Implements

IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImageExt , IMultipageImage

наследници

RasterCachedMultipageImage.AdjustBrightness(int) , RasterCachedMultipageImage.AdjustContrast(float) , RasterCachedMultipageImage.AdjustGamma(float, float, float) , RasterCachedMultipageImage.AdjustGamma(float) , RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedMultipageImage.BinarizeFixed(byte) , RasterCachedMultipageImage.BinarizeBradley(double, int) , RasterCachedMultipageImage.BinarizeBradley(double) , RasterCachedMultipageImage.BinarizeOtsu() , RasterCachedMultipageImage.Crop(Rectangle) , RasterCachedMultipageImage.Crop(int, int, int, int) , RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedMultipageImage.Grayscale() , RasterCachedMultipageImage.NormalizeHistogram() , RasterCachedMultipageImage.Rotate(float, bool, Color) , RasterCachedMultipageImage.RotateFlip(RotateFlipType) , RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) , RasterCachedMultipageImage.Resize(int, int, ResizeType) , RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) , RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) , RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) , RasterCachedMultipageImage.ReplaceColor(int, byte, int) , RasterCachedMultipageImage.ReplaceNonTransparentColors(int) , RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) , RasterCachedMultipageImage.NormalizeAngle(bool, Color) , RasterCachedMultipageImage.CacheData() , RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , RasterCachedMultipageImage.Height , RasterCachedMultipageImage.Width , RasterCachedMultipageImage.BitsPerPixel , RasterCachedMultipageImage.IsCached , RasterCachedMultipageImage.PageCount , RasterCachedMultipageImage.Pages , RasterCachedMultipageImage.HasAlpha , RasterCachedMultipageImage.HasTransparentColor , RasterCachedMultipageImage.ImageOpacity , RasterCachedMultipageImage.BackgroundColor , RasterCachedMultipageImage.XmpData , RasterCachedMultipageImage.PageExportingAction , RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , 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.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 , 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.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.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Този пример показва как да изтеглите WebP изображение от файл и да го запишете в PNG.

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

                                                                                      // Load a WebP image from a file.
                                                                                      using (Aspose.Imaging.FileFormats.Webp.WebPImage webPImage = new Aspose.Imaging.FileFormats.Webp.WebPImage(dir + "test.webp"))
                                                                                      {
                                                                                          // Save to PNG
                                                                                          // Note that only the active frame will be stored to PNG, since PNG is not a multi-page format.
                                                                                          webPImage.Save(dir + "test.output.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                      }

Constructors

Снимка(Stream)

Инсталирайте нова инстанция на Aspose.Imaging.FileFormats.Webp. WebPImage клас, стартиранИзползвайте този конструктор, за да създадете безпроблемно WebPобекти на изображението директно от потоците, което позволява ефективно управление и манипулацияданни за изображенията на WebP в рамките на вашата заявка.

public WebPImage(Stream stream)

Parameters

stream Stream

Снимка на Stream WebP.

Examples

Този пример показва как да изтеглите WebP изображение от файлов поток и да го съхранявате в PNG.

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

                                                                                             // Load a WebP image from a file stream.
                                                                                             using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "test.webp"))
                                                                                             using (Aspose.Imaging.FileFormats.Webp.WebPImage webPImage = new Aspose.Imaging.FileFormats.Webp.WebPImage(stream))
                                                                                             {
                                                                                                 // Save to PNG
                                                                                                 // Note that only the active frame will be stored to PNG, since PNG is not a multi-page format.
                                                                                                 webPImage.Save(dir + "test.output.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                             }

Снимка(Изтегляне, LoadOptions)

Създаване на нова примера на Aspose.Imaging.FileFormats.Webp. WebPImage клас с помощта на поток иопределени опции за зареждане, които улесняват многообразието на обработката на данните за изображенията на WebP.Инкорпорирайте този конструктор, за да стартирате безкрайно WebP изображения обекти отпотоците, докато персонализирате параметрите за зареждане, както е необходимо в приложението ви.

public WebPImage(Stream stream, LoadOptions loadOptions)

Parameters

stream Stream

Снимка на Stream WebP.

loadOptions LoadOptions

Опции за натоварване.

Снимка(Стрий)

Инсталирайте нова инстанция на Aspose.Imaging.FileFormats.Webp. WebPImage клас, стартиранИзползвайте този конструктор, за да създадете безпроблемно WebPизображения обекти директно от файлове, улесняване на процеса на зареждане иманипулиране на данните за изображенията на WebP в приложението ви.

public WebPImage(string path)

Parameters

path string

Пътят към файловете WebP Image

Examples

Този пример показва как да изтеглите WebP изображение от файл и да го запишете в PNG.

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

                                                                                      // Load a WebP image from a file.
                                                                                      using (Aspose.Imaging.FileFormats.Webp.WebPImage webPImage = new Aspose.Imaging.FileFormats.Webp.WebPImage(dir + "test.webp"))
                                                                                      {
                                                                                          // Save to PNG
                                                                                          // Note that only the active frame will be stored to PNG, since PNG is not a multi-page format.
                                                                                          webPImage.Save(dir + "test.output.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                      }

Снимка(Стринг, опции за натоварване)

Създаване на нов пример на Aspose.Imaging.FileFormats.Webp. WebPImage клас с помощта на файл иопределени опции за зареждане, които улесняват гъвкавото управление на данните за изображенията на WebP.този конструктор незабавно да стартира WebP изображения обекти от файлове, докатоперсонализиране на параметрите за зареждане в съответствие с изискванията на приложението.

public WebPImage(string path, LoadOptions loadOptions)

Parameters

path string

Пътят към файловете WebP Image

loadOptions LoadOptions

Опции за натоварване.

Снимка(RasterImage)

Инсталирайте нова инстанция на Aspose.Imaging.FileFormats.Webp. WebPImage клас, стартиранот предоставен rasterImage обект. Този конструктор позволява да секонвертиране на изображения на растер в WebP формат, което позволява ефективно обработване иманипулиране на данните за изображенията в рамките на вашата заявка.

public WebPImage(RasterImage rasterImage)

Parameters

rasterImage RasterImage

Изображението на Растер.

Examples

Този пример показва как да се създаде WebP изображение от друг растер.

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

                                                                                   // Load a PNG image of 100x100 px.
                                                                                   using (Aspose.Imaging.FileFormats.Png.PngImage pngImage = new Aspose.Imaging.FileFormats.Png.PngImage(100, 100))
                                                                                   {
                                                                                       Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(pngImage);

                                                                                       // Fill the entire image in red.
                                                                                       Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
                                                                                       graphics.FillRectangle(brush, pngImage.Bounds);

                                                                                       // Create a WebP image based on the PNG image.
                                                                                       using (Aspose.Imaging.FileFormats.Webp.WebPImage webPImage = new Aspose.Imaging.FileFormats.Webp.WebPImage(pngImage))
                                                                                       {
                                                                                           // Save to a WebP file with default options
                                                                                           webPImage.Save(dir + "output.webp", new Aspose.Imaging.ImageOptions.WebPOptions());
                                                                                       }
                                                                                   }

Снимка(Снимки и опции LoadOptions)

Създаване на нова инстанция на Aspose.Imaging.FileFormats.Webp. WebPImage клас с помощта на растерИмаж обект иопределени опции за зареждане, които позволяват гъвкаво обработване на данни за изображения.конструктор, за да стартира незабавно WebP изображението обекти от растер изображения, докатоперсонализиране на параметрите за зареждане в съответствие с изискванията на приложението.

public WebPImage(RasterImage rasterImage, LoadOptions loadOptions)

Parameters

rasterImage RasterImage

Изображението на Растер.

loadOptions LoadOptions

Опции за натоварване.

Снимка(Инт, инт и WebPOptions)

Инсталирайте нова инстанция на Aspose.Imaging.FileFormats.Webp. WebPImage клас с празенизображение на определена ширина и височина. този конструктор позволявасъздаване на бели WebP изображения, осигуряване на основата за по-нататъшно изображениеманипулация и генериране на съдържание в рамките на вашата заявка.

public WebPImage(int width, int height, WebPOptions options)

Parameters

width int

Ширина на изображението

height int

Височина на изображението.

options WebPOptions

и възможностите.

Examples

Този пример показва как да се създаде WebP изображение с определените опции от скарач.

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

                                                                                                 Aspose.Imaging.ImageOptions.WebPOptions createOptions = new Aspose.Imaging.ImageOptions.WebPOptions();
                                                                                                 createOptions.Lossless = true;
                                                                                                 createOptions.Quality = 100f;
                                                                                                 //createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(dir + "output.webp");

                                                                                                 // Create a WebP image of 100x100 px.
                                                                                                 using (Aspose.Imaging.FileFormats.Webp.WebPImage webPImage = new Aspose.Imaging.FileFormats.Webp.WebPImage(100, 100, createOptions))
                                                                                                 {
                                                                                                     Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(webPImage);

                                                                                                     // Fill the entire image in red.
                                                                                                     Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
                                                                                                     graphics.FillRectangle(brush, webPImage.Bounds);

                                                                                                     // Save to a WebP file
                                                                                                     webPImage.Save(dir + "output.webp");
                                                                                                 }

Този пример показва как да се създаде мулти-фрейм анимиран WebP изображение с посочените опции.

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

                                                                                                         Aspose.Imaging.ImageOptions.WebPOptions createOptions = new Aspose.Imaging.ImageOptions.WebPOptions();
                                                                                                         createOptions.Lossless = true;
                                                                                                         createOptions.Quality = 100f;
                                                                                                         createOptions.AnimBackgroundColor = (uint)Aspose.Imaging.Color.Gray.ToArgb();

                                                                                                         // The default frame plus 36 + 36 additional frames.
                                                                                                         createOptions.AnimLoopCount = 36 + 36 + 1;

                                                                                                         // Create a WebP image of 100x100 px.
                                                                                                         using (Aspose.Imaging.FileFormats.Webp.WebPImage webPImage = new Aspose.Imaging.FileFormats.Webp.WebPImage(100, 100, createOptions))
                                                                                                         {
                                                                                                             // The first circle is red
                                                                                                             Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);

                                                                                                             // The second circle is black
                                                                                                             Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);

                                                                                                             // Gradually inscrease the angle of the red arc shape.
                                                                                                             for (int angle = 10; angle <= 360; angle += 10)
                                                                                                             {
                                                                                                                 Aspose.Imaging.FileFormats.Webp.WebPFrameBlock block = new Aspose.Imaging.FileFormats.Webp.WebPFrameBlock(100, 100);
                                                                                                                 Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(block);
                                                                                                                 graphics.FillPie(brush1, block.Bounds, 0, angle);

                                                                                                                 webPImage.AddBlock(block);
                                                                                                             }

                                                                                                             // Gradually inscrease the angle of the black arc and wipe out the red arc.
                                                                                                             for (int angle = 10; angle <= 360; angle += 10)
                                                                                                             {
                                                                                                                 Aspose.Imaging.FileFormats.Webp.WebPFrameBlock block = new Aspose.Imaging.FileFormats.Webp.WebPFrameBlock(100, 100);

                                                                                                                 Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(block);
                                                                                                                 graphics.FillPie(brush2, block.Bounds, 0, angle);
                                                                                                                 graphics.FillPie(brush1, block.Bounds, angle, 360 - angle);

                                                                                                                 webPImage.AddBlock(block);
                                                                                                             }

                                                                                                             // Save to a WebP file
                                                                                                             webPImage.Save(dir + "output.webp");
                                                                                                         }

Снимка(инт, int, WebPOptions, LoadOptions)

Създаване на нова примера на Aspose.Imaging.FileFormats.Webp. WebPImage клас с празен образ и специфициранТози конструктор позволява инициализацията на WebP изображения сперсонализирани параметри за зареждане, осигуряващи гъвкавост при създаването на изображения иманипулация в рамките на Вашето приложение.

public WebPImage(int width, int height, WebPOptions options, LoadOptions loadOptions)

Parameters

width int

Ширина на изображението

height int

Височина на изображението.

options WebPOptions

и възможностите.

loadOptions LoadOptions

Опции за натоварване.

Properties

FileFormat

Достъп до стойността на формата на файла, свързана с изображението, предоставяне на информацияза формата, в която се съхранява изображението. Използвайте тази собственост, за да определитеформат на файла на изображението, което улеснява проверките за съвместимост иФормат-специфична обработка в рамките на вашата заявка.

public override FileFormat FileFormat { get; }

стойност на имота

FileFormat

HasAlpha

Открийте дали изображението съдържа алфа канал, показващ наличието наинформация за прозрачност. използвайте тази собственост, за да определите дали изображениетовключват прозрачност, което позволява подходящо управление и обработка наАлфа свързани операции в рамките на вашата заявка.

public override bool HasAlpha { get; }

стойност на имота

bool

Examples

Следващият пример зарежда WEBP изображение и отпечатва информация за формат на сурови данни и алфа канал.

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

                                                                                                                   string fileName = dir + "sample.webp";
                                                                                                                   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(fileName))
                                                                                                                   {
                                                                                                                       Aspose.Imaging.FileFormats.Webp.WebPImage webpImage = (Aspose.Imaging.FileFormats.Webp.WebPImage)image;

                                                                                                                       // If the active TIFF frame has alpha channel, then the entire TIFF image is considered to have alpha channel.
                                                                                                                       System.Console.WriteLine("ImageFile={0}, FileFormat={1}, HasAlpha={2}", fileName, webpImage.RawDataFormat, webpImage.HasAlpha);

                                                                                                                       int i = 0;
                                                                                                                       foreach (Aspose.Imaging.FileFormats.Webp.IFrame frame in webpImage.Blocks)
                                                                                                                       {
                                                                                                                           Aspose.Imaging.FileFormats.Webp.WebPFrameBlock frameBlock = frame as Aspose.Imaging.FileFormats.Webp.WebPFrameBlock;
                                                                                                                           if (frameBlock != null)
                                                                                                                           {
                                                                                                                               System.Console.WriteLine("Frame={0}, FileFormat={1}, HasAlpha={2}", i++, frameBlock.RawDataFormat, frameBlock.HasAlpha);
                                                                                                                           }
                                                                                                                       }
                                                                                                                   }

                                                                                                                   // The output may look like this:
                                                                                                                   // ImageFile=c:\temp\sample.webp, FileFormat=RgbIndexed1Bpp, used channels: 1, HasAlpha=False
                                                                                                                   // Frame=0, FileFormat=RgbIndexed1Bpp, used channels: 1, HasAlpha=False

Options

Възстановяване или модифициране на опциите, свързани с посочената собственост, което позволяваИзползвайте тази собственост за персонализиране на поведението и настройкитебезпроблемно достъп и манипулиране на конфигурируеми параметри, улесняване на многообразиетоКонтрол и оптимизация в рамките на функционалността на приложението.

[JsonProperty]
public WebPOptions Options { get; }

стойност на имота

WebPOptions

PageCount

Възстановяване на общия брой страници в посочения документ, улеснявайкиефективна навигация и управление на многостранен съдържание.функционалност за подобряване на потребителското преживяване, което позволява безкраен достъп доОбширни структури на документа.

public override int PageCount { get; }

стойност на имота

int

Pages

Достъп до блоковете на WebP в рамките на изображението, което позволява подробно изследване илиманипулация на основната структура на блока. Използвайте тази собственост за анализили промяна на отделните блокове в данните за изображенията на WebP, като се улеснява напредналаТехнологии за обработка на изображения в рамките на Вашето приложение.

public override Image[] Pages { get; }

стойност на имота

Image []

Methods

AddBlock(ИФРАМ)

Инкорпорирайте нов WebP блок в изображението, обогатявайки съдържанието му иУлесняване на усъвършенстваната манипулация на изображението. Интегрирайте този метод за динамичноподобряване на структурата и сложността на данните за изображенията на WebP в рамките наприложение, което позволява точен контрол и оптимизация на изображението rendering.

public void AddBlock(IFrame block)

Parameters

block IFrame

Блокът на Webp трябва да се добави.

Examples

Този пример показва как да се създаде мулти-фрейм анимиран WebP изображение с посочените опции.

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

                                                                                                         Aspose.Imaging.ImageOptions.WebPOptions createOptions = new Aspose.Imaging.ImageOptions.WebPOptions();
                                                                                                         createOptions.Lossless = true;
                                                                                                         createOptions.Quality = 100f;
                                                                                                         createOptions.AnimBackgroundColor = (uint)Aspose.Imaging.Color.Gray.ToArgb();

                                                                                                         // The default frame plus 36 + 36 additional frames.
                                                                                                         createOptions.AnimLoopCount = 36 + 36 + 1;

                                                                                                         // Create a WebP image of 100x100 px.
                                                                                                         using (Aspose.Imaging.FileFormats.Webp.WebPImage webPImage = new Aspose.Imaging.FileFormats.Webp.WebPImage(100, 100, createOptions))
                                                                                                         {
                                                                                                             // The first circle is red
                                                                                                             Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);

                                                                                                             // The second circle is black
                                                                                                             Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);

                                                                                                             // Gradually inscrease the angle of the red arc shape.
                                                                                                             for (int angle = 10; angle <= 360; angle += 10)
                                                                                                             {
                                                                                                                 Aspose.Imaging.FileFormats.Webp.WebPFrameBlock block = new Aspose.Imaging.FileFormats.Webp.WebPFrameBlock(100, 100);
                                                                                                                 Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(block);
                                                                                                                 graphics.FillPie(brush1, block.Bounds, 0, angle);

                                                                                                                 webPImage.AddBlock(block);
                                                                                                             }

                                                                                                             // Gradually inscrease the angle of the black arc and wipe out the red arc.
                                                                                                             for (int angle = 10; angle <= 360; angle += 10)
                                                                                                             {
                                                                                                                 Aspose.Imaging.FileFormats.Webp.WebPFrameBlock block = new Aspose.Imaging.FileFormats.Webp.WebPFrameBlock(100, 100);

                                                                                                                 Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(block);
                                                                                                                 graphics.FillPie(brush2, block.Bounds, 0, angle);
                                                                                                                 graphics.FillPie(brush1, block.Bounds, angle, 360 - angle);

                                                                                                                 webPImage.AddBlock(block);
                                                                                                             }

                                                                                                             // Save to a WebP file
                                                                                                             webPImage.Save(dir + "output.webp");
                                                                                                         }

AddPage(RasterImage)

Добавете нова страница към изображението, разширявайте съдържанието му и пригответе допълнителниИнтегрирайте този метод за улесняване на динамичното управление на страницатав рамките на Вашето приложение, което позволява безпроблемно създаване и увеличаване на мулти-странициДокументи или изображения.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Страница за добавяне.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(инт)

Извършване на настройка brightness’ за изображението, което позволява themodification на общите нива на светлината. Инкорпорирайте този метод в вашия работен поток за обработка на изображения, за да се подобри видимостта и подобряване на визуалното качество на снимкитеВ рамките на приложението си.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Стойност на яркостта.

AdjustContrast(Флота)

Подобряване на контраста на Aspose.Imaging.Снимка, укрепване наразличията между светлинни и тъмни зони. Интегрирайте този метод в изображението сиобработка на работния поток за подобряване на визуалната яснота и общото качество на изображението в рамките наВашата заявка.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Контрастна стойност (в диапазон [-100; 100])

AdjustGamma(Флота)

Използване на гама корекция на изображението, адаптиране на пикселовите интензитети за постигане нажеланата яркост и баланс на цветовете. Инкорпорирайте този метод в изображението сиобработване на работния поток, за да се подобри визуалното качество и подобряване на точността наСледващ анализ или показване на задачите в рамките на вашата заявка.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Гама за червени, зелени и сини канали коефициент

AdjustGamma(плавател, плавател, плавател)

Извършване на гама корекция на изображението с помощта на индивидуални коефициенти за червено,зелени и сини канали, които позволяват фино-тънки настройки на баланса на цветовете иИнтегрирайте този метод в образец за обработка на изображения, за да постигнететочен контрол върху цветовото представяне и подобряване на визуалната лоялност в рамките наприложението .

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

Parameters

gammaRed float

Гама за коефициент на червения канал

gammaGreen float

Гама за зеления канал коефициент

gammaBlue float

Гама за синия канал коефициент

BinarizeBradley(Двойна, инт)

Прилагайте бинарност към изображението с помощта на адаптивния алгоритъм на Брадлис интегрирано границиране на изображението. този метод динамично изчислява локалнограници въз основа на съседството на изображението, подобряване на адаптивността към различнитеусловия на осветление и осигуряване на солидна сегментация за последваща обработкаЗадания в рамките на Вашето приложение.

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

Разликата в яркостта между пиксела и средната стойност на прозореца с x s на pixelsВърху този пиксел.

windowSize int

Размерът на прозореца с x с на пикселите, които се фокусират около този пикъл

BinarizeFixed(Бийт)

Извършване на бинарност на изображението с помощта на предварително дефинирана стойност, конвертиранеда се превърне в бинарна картина, където пикселите са класифицирани като предна или позавъз основа на тяхната интензивност по отношение на прага. Интегрирайте този метод вВашият работен поток за обработка на изображения за улесняване на сегментацията и екстракцията на функцииповишаване на точността и ефективността на последващите анализи в рамките наприложението .

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Ако съответната сива стойност на пиксел е по-голяма от прага, стойността на255 ще бъдат разпределени към него, 0 по друг начин.

BinarizeOtsu()

Извършване на бинарност на изображението с помощта на метода на Оцу, автоматичноопределяне на оптималната стойност на прага въз основа на хистограмата на изображението.Този метод в процеса на обработка на изображения работен поток за постигане на ефективна сегментацияИзвличане на функции, подобряване на точността и надеждността на анализа на изображениетоЗадания в рамките на Вашето приложение.

public override void BinarizeOtsu()

ClearBlocks()

Изчистете всички съществуващи WebP блокове от изображението, улеснявайки чистата лента заПоследни промени или добавки. Използвайте този метод за ефективно пренастройванеструктурата на блока в рамките на данните за изображението на WebP, като се гарантира оптимално управление иОрганизиране на съдържанието на изображението в рамките на вашата заявка.

public void ClearBlocks()

Crop(Rectangle)

Растете изображението с помощта на определена правоъгълна област, премахвайки нежелани порциисъхраняване на желаното съдържание. Интегрирайте този метод в изображението сиобработка на работния поток за прецизно извличане и фокусиране върху специфични области на интересв рамките на изображението, подобряване на яснотата и композицията за различни приложения.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

на правоъгълника.

Crop(Инт, инт, инт, инт)

Растете изображението, като прилагате леви, десни, горни и долни премествания, ефективноИзберете регион на интерес в изображението.Използвайте този метод задинамично извлича желаните части на изображението, докато приспособява състава муФокусирайте се в съответствие с изискванията на вашата заявка.

public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)

Parameters

leftShift int

Вляво се сменя.

rightShift int

правилната промяна.

topShift int

На върха на промяната.

bottomShift int

Долната промяна.

Dither(ДитърингMethod, int, IColorPalette)

Извършване на дитиране на текущата картина, за да се намали цветната лента и подобри визуалносттаИнтегрирайте този метод в работния поток за обработка на изображения, за да постигнетепо-гъвкави преходи между цветовете и подобряване на общия външен вид наСнимка в приложението Ви.

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

Parameters

ditheringMethod DitheringMethod

Методът на дистрибуция.

bitsCount int

Последните битове се броят за дитиране.

customPalette IColorPalette

Палетата е предназначена за дитиране.

Filter(Филтриране, FilterOptionsBase)

Филтрирайте съдържанието в посочения правоъгълник, като приложите определена картинаобработка филтри за подобряване или промяна на избрания регион. Интегрирайте този методв работния поток за манипулация на изображението ви, за да постигнете целенасочени подобрения илиТрансформации в рамките на Вашето приложение.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

на правоъгълника.

options FilterOptionsBase

и възможностите.

Examples

Следващият пример прилага различни видове филтри за WEBP изображение.

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

                                                                                  using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.webp"))
                                                                                  {
                                                                                      Aspose.Imaging.FileFormats.Webp.WebPImage webpImage = (Aspose.Imaging.FileFormats.Webp.WebPImage)image;

                                                                                      // Apply a median filter with a rectangle size of 5 to the entire image.
                                                                                      webpImage.Filter(webpImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MedianFilterOptions(5));
                                                                                      webpImage.Save(dir + "sample.MedianFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                  }

                                                                                  using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.webp"))
                                                                                  {
                                                                                      Aspose.Imaging.FileFormats.Webp.WebPImage webpImage = (Aspose.Imaging.FileFormats.Webp.WebPImage)image;

                                                                                      // Apply a bilateral smoothing filter with a kernel size of 5 to the entire image.
                                                                                      webpImage.Filter(webpImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.BilateralSmoothingFilterOptions(5));
                                                                                      webpImage.Save(dir + "sample.BilateralSmoothingFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                  }

                                                                                  using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.webp"))
                                                                                  {
                                                                                      Aspose.Imaging.FileFormats.Webp.WebPImage webpImage = (Aspose.Imaging.FileFormats.Webp.WebPImage)image;

                                                                                      // Apply a Gaussian blur filter with a radius of 5 and a sigma value of 4.0 to the entire image.
                                                                                      webpImage.Filter(webpImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussianBlurFilterOptions(5, 4.0));
                                                                                      webpImage.Save(dir + "sample.GaussianBlurFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                  }

                                                                                  using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.webp"))
                                                                                  {
                                                                                      Aspose.Imaging.FileFormats.Webp.WebPImage webpImage = (Aspose.Imaging.FileFormats.Webp.WebPImage)image;

                                                                                      // Apply a Gauss-Wiener filter with a radius of 5 and a smooth value of 4.0 to the entire image.
                                                                                      webpImage.Filter(webpImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussWienerFilterOptions(5, 4.0));
                                                                                      webpImage.Save(dir + "sample.GaussWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                  }

                                                                                  using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.webp"))
                                                                                  {
                                                                                      Aspose.Imaging.FileFormats.Webp.WebPImage webpImage = (Aspose.Imaging.FileFormats.Webp.WebPImage)image;

                                                                                      // Apply a motion wiener filter with a length of 5, a smooth value of 4.0 and an angle of 90.0 degrees to the entire image.
                                                                                      webpImage.Filter(webpImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MotionWienerFilterOptions(10, 1.0, 90.0));
                                                                                      webpImage.Save(dir + "sample.MotionWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                  }

                                                                                  using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.webp"))
                                                                                  {
                                                                                      Aspose.Imaging.FileFormats.Webp.WebPImage webpImage = (Aspose.Imaging.FileFormats.Webp.WebPImage)image;

                                                                                      // Apply a sharpen filter with a kernel size of 5 and a sigma value of 4.0 to the entire image.
                                                                                      webpImage.Filter(webpImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.SharpenFilterOptions(5, 4.0));
                                                                                      webpImage.Save(dir + "sample.SharpenFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                  }

Grayscale()

Конвертирайте изображението в неговия грейскален представител, преобразувайки го вЕдноканална картина, където всеки пиксел представлява интензитет или светлина.този метод в вашия образов тръбопровод за опростяване на анализа и подобряване насъвместимост с алгоритми, базирани на граискал, улесняване на различни компютриВизия и анализ на изображения задачи в рамките на вашата заявка.

public override void Grayscale()

InsertBlock(ИФРАМ - IFRAM)

Въведете нов WebP блок в посочения индекс в изображението, което дава възможност за точностконтрола над последователността на блока. Интегрирайте този метод, за даДопълнителни WebP блокове в структурата на данните на изображението, улеснявайки усъвършенстваното изображениеОбработка и оптимизация в рамките на Вашето приложение.

public void InsertBlock(int index, IFrame block)

Parameters

index int

Елементът, базиран на нула, в който block’ ще бъде въведен.

block IFrame

Блокът на Webp трябва да се добави.

ReleaseManagedResources()

Уверете се, че не управлявани ресурси не се освобождават тук, тъй като те може да са билиВече е освободен.

protected override void ReleaseManagedResources()

RemoveBlock(ИФРАМ)

Премахване на определен WebP блок от изображението, което улеснява ефективното управлениеИзползвайте този метод, за да ускорите обработката на изображениятаработните потоци чрез премахване на ненужни блокове или компоненти в приложението ви.

public void RemoveBlock(IFrame block)

Parameters

block IFrame

Блокът трябва да бъде премахнат.

Remarks

Забележка: Не забравяйте да зададете block’ ако не искате да го добавите към друг WebPImage.

Resize(Инт, инт и резистент)

Рециклирайте изображението, коригирайки неговите измерения, като същевременно запазвате съотношението на аспекта.Интегрирайте този метод във вашия работен поток за обработка на изображения за динамично скалиранеизображения, които да отговарят на различните изисквания за дисплей или съхранение в рамките на приложението ви.

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

Parameters

newWidth int

Новата ширина.

newHeight int

Новата височина.

resizeType ResizeType

Типът на възстановяване.

Examples

Този пример зарежда изображение на WEBP и го рецизира с помощта на различни методи за ресизиране.

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

                                                                                         using (Aspose.Imaging.FileFormats.Webp.WebPImage image = (Aspose.Imaging.FileFormats.Webp.WebPImage)Aspose.Imaging.Image.Load(dir + "sample.webp"))
                                                                                         {
                                                                                             // 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.FileFormats.Webp.WebPImage image = (Aspose.Imaging.FileFormats.Webp.WebPImage)Aspose.Imaging.Image.Load(dir + "sample.webp"))
                                                                                         {
                                                                                             // 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.FileFormats.Webp.WebPImage image = (Aspose.Imaging.FileFormats.Webp.WebPImage)Aspose.Imaging.Image.Load(dir + "sample.webp"))
                                                                                         {
                                                                                             // 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.FileFormats.Webp.WebPImage image = (Aspose.Imaging.FileFormats.Webp.WebPImage)Aspose.Imaging.Image.Load(dir + "sample.webp"))
                                                                                         {
                                                                                             // 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(Инт, инт и ImageResizeSettings)

Рециклиране на изображението в съответствие с определените настройки, което позволява точен контрол върхуизмерения, аспектите и мащабното поведение. Интегрирайте този метод вРаботен поток за обработка на изображения за постигане на персонализирани операции за рециклиране, приспособени къмСпецифични изисквания за Вашата заявка.

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

Parameters

newWidth int

Новата ширина.

newHeight int

Новата височина.

settings ImageResizeSettings

Изтегляне на настройките.

ResizeHeightProportionally(Изтегляне, ResizeType)

Настройване на височината на изображението пропорционално, като същевременно се запазва съотношението на аспектаИнтегрирайте този метод в работния поток за обработка на изображенияза динамично рециклиране на изображения с еднакви пропорции, осигуряване на оптимален дисплей илиСъхранение в рамките на вашата заявка.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

Новата височина.

resizeType ResizeType

Тип на възстановяване.

ResizeWidthProportionally(Изтегляне, ResizeType)

Пропорционално да се коригира ширината на изображението, като същевременно се поддържа съотношението на аспекта.Интегрирайте този метод в работния поток за обработка на изображенията си, за да се рециклирате динамичноизображения с последователни пропорции, осигуряващи оптимален дисплей или съхранение вВашата заявка.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

Новата ширина.

resizeType ResizeType

Тип на възстановяване.

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

Типът на ротирания флип.

SaveData(Stream)

Съхранява данните.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Потокът за съхранение на данните.

UpdateDimensions(в, в)

Актуализирайте измеренията на изображението.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Новото изображение с широчина.

newHeight int

Новата снимка е на височина.

 Български