Class WebPImage
Numele spaţiului: Aspose.Imaging.FileFormats.Webp Asamblare: Aspose.Imaging.dll (25.4.0)
Manipulați imaginile raster WebP cu API-ul nostru, folosind caracteristicile sale moderne pentru ambelecompresie fără pierderi, asigurând calitatea optimă a imaginii cu dimensiuni reduse de fișiere.Gestionați cu ușurință formatele de fișiere extinse, animațiile și canalele alfa, în timp ce ușoractualizarea dimensiunilor, recidivarea proporțională, creșterea, rotația, aplicarea filtrelor,ajustarea parametrilor imaginii și convertirea în alte formate de imagine pentru a fi versatileOptimizarea imaginii web.
[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
Membrii moștenitori
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
Acest exemplu arată cum să încărcați o imagine WebP dintr-un fișier și să o salvați în 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
Imagini web(Stream)
Instantați o nouă instanta a clasei Aspose.Imaging.FileFormats.Webp.webPImage, inițializatde la o sursă furnizată de flux. Utilizați acest constructor pentru a crea fără îndoială WebPObiectele imaginii direct de la fluxuri, permițând manipularea și gestionarea eficientăDatele de imagine WebP din aplicația dvs.
public WebPImage(Stream stream)
Parameters
stream
Stream
Imaginea din WebP.
Examples
Acest exemplu arată cum să încărcați o imagine WebP dintr-un flux de fișiere și să o salvați în 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());
}
Imagini web(Opțiuni, opțiuni de încărcare)
Creați o nouă instanță a clasei Aspose.Imaging.FileFormats.webp.WebPImage folosind un flux șiopțiuni de încărcare specificate, facilitând gestionarea versatilă a datelor de imagine WebP.Introduceți acest constructor pentru a iniția în mod neîncetat obiecte de imagine WebP de laStream în timp ce personalizează parametrii de încărcare după cum este necesar în cadrul aplicației.
public WebPImage(Stream stream, LoadOptions loadOptions)
Parameters
stream
Stream
Imaginea din WebP.
loadOptions
LoadOptions
Opţiunile de încărcare.
Imagini web(Strângere)
Instantiaza o noua instanta a clasei Aspose.Imaging.FileFormats.Webp. WebPImage, initializatade la o sursă furnizată a fișierului. Utilizați acest constructor pentru a crea fără probleme WebPobiectele imaginii direct din fișiere, simplificând procesul de încărcare șimanipularea datelor cu imagini WebP în cadrul aplicației dvs.
public WebPImage(string path)
Parameters
path
string
Calea către WebP Imaginea
Examples
Acest exemplu arată cum să încărcați o imagine WebP dintr-un fișier și să o salvați în 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());
}
Imagini web(String, Opțiuni de încărcare)
Creați o nouă instanță a clasei Aspose.Imaging.FileFormats.webp.WebPImage folosind un fișier șiopțiuni de încărcare specificate, facilitând gestionarea flexibilă a datelor de imagine WebP.acest constructor pentru a inițializa fără întârziere Obiectele de imagine WebP din fișiere în timp cepersonalizarea parametrilor de încărcare în funcție de cerințele aplicației dvs.
public WebPImage(string path, LoadOptions loadOptions)
Parameters
path
string
Calea către WebP Imaginea
loadOptions
LoadOptions
Opţiunile de încărcare.
Imagini web(RasterImage)
Instantați o nouă instanta a clasei Aspose.Imaging.FileFormats.Webp.webPImage, inițializatde la un obiect rasterImage furnizat. Acest constructor permitetransformarea imaginilor raster în format WebP, permiţând gestionarea eficientă şimanipularea datelor imaginii în cadrul aplicației dvs.
public WebPImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
Imaginea lui raster.
Examples
Acest exemplu arată cum să creați o imagine WebP dintr-o altă imagine raster.
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());
}
}
Imagini web(RasterImage, Opțiuni de încărcare)
Creați o nouă instanță a clasei Aspose.Imaging.FileFormats.Webp.webPimage folosind un obiect rasterImage șiopțiuni de încărcare specificate, care permit gestionarea flexibilă a datelor de imagine.Constructor pentru a iniţializa fără întârziere Obiectele de imagine WebP din imagini raster, în timp cepersonalizarea parametrilor de încărcare în funcție de cerințele aplicației dvs.
public WebPImage(RasterImage rasterImage, LoadOptions loadOptions)
Parameters
rasterImage
RasterImage
Imaginea lui raster.
loadOptions
LoadOptions
Opţiunile de încărcare.
Imagini web(int, int și WebPOptions)
Instalați o nouă instanță a Aspose.Imaging.FileFormats.Webp.webPimage clasă cu un golimaginea de dimensiuni specifice de latitudine și înălțime. acest constructor permitecrearea de imagini WebP alb, oferind o bază pentru imaginea ulterioarămanipularea și generarea conținutului în cadrul aplicației dvs.
public WebPImage(int width, int height, WebPOptions options)
Parameters
width
int
Amploarea imaginii
height
int
înălţimea imaginii.
options
WebPOptions
ale opţiunilor .
Examples
Acest exemplu arată cum să creați o imagine WebP cu opțiunile specificate din scratch.
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");
}
Acest exemplu arată cum să creați o imagine multi-frame animată WebP cu opțiunile specificate.
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");
}
Imagini web(Int, int, WebPOptions, Opțiuni de încărcare)
Creați o nouă instanță a clasei Aspose.Imaging.FileFormats.webp.WebPimage cu o imagine goală și specificatăOpțiuni de încărcare. acest constructor permite inițializarea imaginilor WebP cuparametrii de încărcare personalizabili, oferind flexibilitate în crearea imaginii șimanipulare în cadrul aplicaţiei.
public WebPImage(int width, int height, WebPOptions options, LoadOptions loadOptions)
Parameters
width
int
Amploarea imaginii
height
int
înălţimea imaginii.
options
WebPOptions
ale opţiunilor .
loadOptions
LoadOptions
Opţiunile de încărcare.
Properties
FileFormat
Acces la valoarea formatului de fișier asociată cu imaginea, furnizând informațiidespre format în care este stocată imaginea. Utilizați această proprietate pentru a determinaformatul de fișier al imaginii, facilitând verificările de compatibilitate șiProcesarea format-specifică în cadrul aplicației dvs.
public override FileFormat FileFormat { get; }
Valoarea proprietății
HasAlpha
Verificați dacă imaginea conține un canal alfa, indicând prezențautilizează această proprietate pentru a determina dacă imagineainclude transparență, care să permită gestionarea și prelucrarea corespunzătoare aOperațiuni legate de alfa în cadrul aplicației dvs.
public override bool HasAlpha { get; }
Valoarea proprietății
Examples
Următorul exemplu încărcă o imagine WEBP și imprimează informații despre formatul de date crude și canalul alfa.
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
Recuperarea sau modificarea opțiunilor asociate cu proprietatea specificată, permițândpersonalizarea comportamentului și a setărilor. folosiți această proprietate pentru aaccesul și manipularea parametrilor configurabili, facilitând versatilitateacontrol și optimizare în cadrul funcționalității aplicației.
[JsonProperty]
public WebPOptions Options { get; }
Valoarea proprietății
PageCount
Reduceți numărul total de pagini din documentul specificat, facilitândnavigarea eficientă și gestionarea conținutului cu mai multe pagini.funcționalitate pentru a îmbunătăți experiența utilizatorului, permițând accesul fără întârziere lastructuri complete de documentare.
public override int PageCount { get; }
Valoarea proprietății
Pages
Accesul la blocurile WebP în interiorul imaginii, permițând examinarea detaliată saumanipularea structurii blocului de bază. folosiți această proprietate pentru a analizasau modificarea blocurilor individuale din datele imaginii WebP, facilitândTehnici de procesare a imaginii în cadrul aplicației dvs.
public override Image[] Pages { get; }
Valoarea proprietății
Image []
Methods
AddBlock(Iframă)
Introduceți un nou bloc WebP în imagine, îmbogățind conținutul șifacilitarea manipulării imaginii avansate. integrarea acestei metode în mod dinamicîmbunătățește structura și complexitatea datelor de imagine WebP în interiorul dvs.aplicarea, permițând controlul precis și optimizarea renderării imaginii.
public void AddBlock(IFrame block)
Parameters
block
IFrame
Blocul Webp pentru a adăuga.
Examples
Acest exemplu arată cum să creați o imagine multi-frame animată WebP cu opțiunile specificate.
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)
Adăugați o nouă pagină imaginii, extindeți conținutul acesteia și găzduiți mai multeIntegrarea acestei metode pentru a facilita managementul dinamic al paginiiîn cadrul aplicației dvs., permițând crearea și extinderea fără fir a mai multor paginidocumente sau imagini.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Pagina pentru a adăuga.
Exceptions
page’ is null.
AdjustBrightness(int)
Implementare brightness’ ajustare pentru imagine, permițând themodificația nivelurilor de luminozitate generală. Introduceți această metodă în fluxul de lucru de procesare a imaginii pentru a îmbunătăți vizibilitatea și a imbunatati calitatea vizuală a imaginilor în cadrul aplicației.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Valori de lumină.
AdjustContrast(float)
Îmbunătățește contrastul Aspose.Imaging.Image, amplificânddiferențele dintre zonele luminoase și întunecate. integrează această metodă în imaginea taprocesarea fluxului de lucru pentru a îmbunătăți claritatea vizuală și calitatea generală a imaginii în interiorulAplicația ta .
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Valoarea contrastului (în interval [-100; 100])
AdjustGamma(float)
Aplicați corecția gamma pe imagine, ajustând intensitățile pixelelor pentru aluminozitate și echilibru de culoare dorit. Introduceți această metodă în imaginea dvs.procesarea fluxului de lucru pentru a îmbunătăți calitatea vizuală și a spori preciziaAnaliza ulterioară sau afișarea sarcinilor în cadrul aplicației dvs.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gama pentru coeficientul canalelor roșii, verzi și albastru
AdjustGamma(în float, float, float)
Realizează corecția gamma pe imagine folosind coeficienți individuali pentru roșu,canale verzi și albastru, permițând ajustări fin-tune ale echilibrului de culori șiIntegrați această metodă în canalul dvs. de prelucrare a imaginii pentru a realizacontrolul exact al renderării culorilor și îmbunătățirea fidelității vizuale în interiorul dvs.în aplicare.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gama pentru coeficientul canalului roșu
gammaGreen
float
Gama pentru coeficientul canalului verde
gammaBlue
float
Gamma pentru coeficientul canalului albastru
BinarizeBradley(Două ori, int)
Aplicați binarizarea imaginii folosind algoritmul adaptiv al lui Bradleycu un prag de imagine integrat. această metodă calculează în mod dinamicgranițele bazate pe vecinătatea imaginii, îmbunătățind adaptabilitatea la variereacondițiile de iluminare și asigurarea unei segmentații robuste pentru procesarea ulterioarăsarcini în cadrul cererii dumneavoastră.
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Diferența de luminozitate între pixel și medie a unui s x s fereastră de pixeliCentrat în jurul acestui pixel.
windowSize
int
Dimensiunea ferestrei s x s a pixelelor centrate în jurul acestui pixel
BinarizeFixed(în byte)
Performanța binarizării imaginii folosind o valoare de prag predefinită, convertireaintră într-o imagine binară în cazul în care pixele sunt clasificate ca pe front sau pe fundalbazată pe intensitatea lor relativă la prag. integrarea acestei metode înfluxul de lucru de prelucrare a imaginii pentru a facilita segmentarea și extracția caracteristicilorsarcini, îmbunătăţirea preciziei şi eficienţei analizelor ulterioare în cadrulîn aplicare.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
În cazul în care valoarea gri corespunzătoare a unui pixel este mai mare decât pragul, un255 vor fi atribuite acestuia, 0 altfel.
BinarizeOtsu()
Performanța binarizării imaginii folosind metoda de limitare a pragului Otsu, automatdeterminarea valorii maxime optime pe baza histogramei imaginii.această metodă în fluxul de lucru de prelucrare a imaginii pentru a realiza segmentarea eficientăși extracția de caracteristici, îmbunătățind precizia și fiabilitatea analizei imaginiisarcini în cadrul cererii dumneavoastră.
public override void BinarizeOtsu()
ClearBlocks()
Îndepărtați toate blocurile WebP existente de pe imagine, facilitând o schiță curată pentrumodificări sau adăugări ulterioare. folosiți această metodă pentru a restabili în mod eficientstructura blocului din datele imaginii WebP, asigurând gestionarea optimă șiOrganizarea conținutului imaginii în cadrul aplicației dvs.
public void ClearBlocks()
Crop(Rectangle)
Cultivați imaginea folosind o regiune rectangulară specificată, îndepărtând porții nedoriteîn timp ce mențineți conținutul dorit. integrează această metodă în imaginea taprocesarea fluxului de lucru pentru a extrage cu precizie și a se concentra pe domenii specifice de interesîn interiorul imaginii, îmbunătățind claritatea și compoziția pentru diferite aplicații.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
în rectanglu .
Crop(int, int, int, int)
Creați imaginea aplicând în mod eficient schimbările stânga, dreaptă, de sus și de josselectarea unei regiuni de interes în interiorul imaginii. folosiți această metodă pentru aextrage în mod dinamic părțile dorite ale imaginii, ajustând în același timp compozițiași să se concentreze în conformitate cu cerințele aplicației dvs.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Schimbarea de stânga.
rightShift
int
Schimbarea dreaptă.
topShift
int
Cea mai mare schimbare.
bottomShift
int
Schimbarea de jos.
Dither(DitheringMetodă, int, IColorPalette)
Performantați pe imaginea curentă pentru a reduce bandajul de culori și a îmbunătăți vizualitateaIntegrarea acestei metode în fluxul de lucru de prelucrare a imaginii pentru a realizaschimbările dintre culori și îmbunătățirea aspectului general alImaginea din aplicația ta.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metoda de depăşire.
bitsCount
int
Ultimele bite contează pentru dithering.
customPalette
IColorPalette
Paleta obișnuită pentru dithering.
Filter(Rectangle, FilterOptionsBase)
Filtrarea conținutului în rectanglul specificat, aplicând o imagine desemnatăfiltrul de prelucrare pentru a îmbunătăți sau modifica regiunea selectată.în fluxul de lucru de manipulare a imaginii pentru a realiza îmbunătățiri vizate sautransformări în cadrul aplicației tale.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
în rectanglu .
options
FilterOptionsBase
ale opţiunilor .
Examples
Următorul exemplu se aplică diferitelor tipuri de filtre pentru o imagine 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()
transformă imaginea în reprezentarea sa grayscale, transformând-o într-unImaginea cu un singur canal în care fiecare pixel reprezintă intensitate sau luminozitate.această metodă în pipeline de prelucrare a imaginii pentru a simplifica analiza și îmbunătățicompatibilitate cu algoritmele bazate pe grayscale, facilitând diferite computeresarcini vizuale și de analiză a imaginii în cadrul aplicației dvs.
public override void Grayscale()
InsertBlock(Călărași, Iframe)
Introduceți un nou bloc WebP la indexul specificat în interiorul imaginii, permițând preciziecontrolul asupra secvenței blocului. integrați această metodă pentru a incorpora în mod necorespunzătorblocuri WebP suplimentare în structura datelor imaginii, facilitând imaginea avansatăProcesarea și optimizarea în cadrul aplicației dvs.
public void InsertBlock(int index, IFrame block)
Parameters
index
int
Elementul bazat pe zero, la care block’ va fi introdus.
block
IFrame
Blocul Webp pentru a adăuga.
ReleaseManagedResources()
Eliberează resursele gestionate. asigurați-vă că nu sunt eliberate resurse necontrolate aici, deoarece acestea pot fideja eliberat.
protected override void ReleaseManagedResources()
RemoveBlock(Iframă)
Îndepărtați blocul WebP specificat din imagine, facilitând gestionarea eficientăutilizează această metodă pentru a simplifica procesarea imaginiifluxurile de lucru prin eliminarea blocurilor sau componentelor inutile din aplicația dvs.
public void RemoveBlock(IFrame block)
Parameters
block
IFrame
Blocul pentru a elimina.
Remarks
Notă: nu uitați să puneți blocul " dacă nu doriți ca acesta să fie adăugat la alte WebPImage.
Resize(int, int, resizeType)
Reîncărcați imaginea, ajustând dimensiunile sale, menținând în același timp raportul aspectului.Integrați această metodă în fluxul de lucru de prelucrare a imaginii pentru a scala dinamicImagini pentru a se potrivi diferitelor cerințe de afișare sau de stocare în cadrul aplicației dvs.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
În noua lățime.
newHeight
int
Înălţimea nouă.
resizeType
ResizeType
Tipul de rezistenţă.
Examples
Acest exemplu încărcă o imagine WEBP și o resizează folosind diferite metode de resizare.
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, ImageResizeSettings)
Reîncărcați imaginea în funcție de setările specificate, permițând controlul exact aldimensiunile, raportul aspectului și comportamentul de scalare.Integrați această metodă înfluxul de lucru de prelucrare a imaginii pentru a realiza operațiuni personalizate de resetare adaptate lacerințele specifice ale cererii dumneavoastră.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
În noua lățime.
newHeight
int
Înălţimea nouă.
settings
ImageResizeSettings
Împreună cu setările de rezistență.
ResizeHeightProportionally(Răspundeți, Răspundeți)
Ajustarea înălțimii imaginii proporțional, menținând în același timp raportul aspectuluiIntegrați această metodă în fluxul de lucru de procesare a imaginiipentru a rezuma în mod dinamic imaginile cu proporții uniforme, asigurând o afișare optimă saudepozitare în cadrul aplicaţiei dumneavoastră.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
Înălţimea nouă.
resizeType
ResizeType
Tipul de rezistenţă.
ResizeWidthProportionally(Răspundeți, Răspundeți)
Se ajustează proporțional lățimea imaginii, menținând în același timp raportul aspectului.Integrați această metodă în fluxul de lucru de prelucrare a imaginii pentru a reînnoi dinamicImagini cu proporții coerente, asigurând afișarea sau stocarea optimă în interiorAplicația ta .
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
În noua lățime.
resizeType
ResizeType
Tipul de rezistenţă.
Rotate(float, bool, culoare)
Rotati imaginea in jurul centrului cu un unghi specific, in timp ce proportionalarevizuirea și aplicarea parametrilor de culoare de fundal specificate.metodă în fluxul de lucru de procesare a imaginii pentru a realiza transformări precise cuculori de fundal personalizate, asigurând o prezentare vizuală optimă în interiorul dvs.în aplicare.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Angajul rotativ în grade. valorile pozitive se vor rotati pe oră.
resizeProportionally
bool
în cazul în care este setat la ’true’ veți avea dimensiunea imaginii modificate în funcție de rectangle rotate (punctele de coadă) proiecții în alte cazuri care lasă dimensiunile necorespunzătoare și numai interior conținutul de imagini sunt rotat.
backgroundColor
Color
Culoarea fundalului.
RotateFlip(RotateFlipType)
Aplicați rotația, flipping-ul sau ambele operațiuni exclusiv în cadrul activIntegrați această metodă în fluxul de lucru de prelucrare a imaginiisă realizeze o manipulare precisă a cadrelor individuale, îmbunătățind flexibilitatea șiControlul transformărilor cadrului în cadrul aplicației dvs.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Tipul de flip rotat.
SaveData(Stream)
salvează datele.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Stream pentru a salva datele la.
UpdateDimensions(int, int)
Actualizează dimensiunile imaginii.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Noua dimensiune a imaginii.
newHeight
int
Înălțimea noii imagini.