Class WebPImage

Class WebPImage

Название пространства: Aspose.Imaging.FileFormats.Webp Ассоциация: Aspose.Imaging.dll (25.4.0)

Manipulate WebP raster images with our API, using its modern features for bothбез убытков и стерильной компрессией, обеспечивая оптимальное качество изображения при уменьшении размеров файла.Бессмысленно справляется с расширенными форматами файлов, анимациями и альфа-каналами, в то время как легкообновление измерений, рецидивы пропорционально, скопление, ротация, применение фильтров,настройка параметров изображения и конвертирование в другие форматы изображений для универсальногоОптимизация сайта изображения.

[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

WebPimage(Stream)

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

public WebPImage(Stream stream)

Parameters

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

WebPimage(Поток, LoadOptions)

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

public WebPImage(Stream stream, LoadOptions loadOptions)

Parameters

stream Stream

Поток изображения WebP.

loadOptions LoadOptions

Возможность загрузки опций.

WebPimage(Стриг)

Инстантируйте новую инстанцию класса 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());
                                                                                      }

WebPimage(Стриг, LoadOptions)

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

public WebPImage(string path, LoadOptions loadOptions)

Parameters

path string

Путь к файлу WebP Image

loadOptions LoadOptions

Возможность загрузки опций.

WebPimage(RasterImage)

Настаивайте новую инстанцию класса Aspose.Imaging.FileFormats.Webp. WebPImage, инициируемаяиз предоставленного растерИзображение объекта.Этот конструктор позволяетКонвертирование растерных изображений в формат 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());
                                                                                       }
                                                                                   }

WebPimage(РастерИмаж, LoadOptions)

Создайте новую инстанцию класса Aspose.Imaging.FileFormats.webp.WebPImage с использованием объекта rasterImagage испецифицированные опции загрузки, позволяющие гибко обрабатывать данные изображения.конструктор, чтобы беспрецедентно инициировать объекты изображения WebP из растерных изображений, в то время какнастройка параметров загрузки в соответствии с требованиями вашего приложения.

public WebPImage(RasterImage rasterImage, LoadOptions loadOptions)

Parameters

rasterImage RasterImage

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

loadOptions LoadOptions

Возможность загрузки опций.

WebPimage(Инт, инт и 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");
                                                                                                         }

WebPimage(Int, 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 в вашемприменение, обеспечивающее точный контроль и оптимизацию изображения.

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(ИНТ)

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

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(Двойная, int)

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

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

Разница в яркости между пикселем и средним окном с x с pixelsСосредоточен вокруг этого пикселя.

windowSize int

Размер окна x с пикселей, сосредоточенных вокруг этого пикселя

BinarizeFixed(byte)

Осуществляет бинарность на изображении с использованием заранее определенной граничной стоимости, конвертируяв бинарное изображение, где пиксели классифицируются как предшественник или фоновыйна основе их интенсивности по отношению к пределу. Интегрируйте этот метод вваш рабочий поток обработки изображений, чтобы облегчить сегментацию и извлечение функцийзадачи, повышающие точность и эффективность последующего анализа в пределах вашейПрименение .

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Если соответствующая серная стоимость пикселя превышает границу, то255 будет присвоено к нему, 0 иначе.

BinarizeOtsu()

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

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(ДитарингМетод, 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(ИТ, ИФРАМ)

Введите новый блок 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(int, int, resizeType)

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

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(int, int, ImageResizeНастройки)

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

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

Высота нового изображения.

 Русский