PPTX DOCX XLSX PDF ODP
Aspose.Imaging  för .NET
WEBP

Filtrera WEBP via C#

Bygg dina egna .NET-appar för att filtrera WEBP-filer med API:er på serversidan.

Hur man filtrerar WEBP-filer med C#

Även den mest perfekta bilden kan förstärkas ytterligare eller förvandlas till ett helt annat och unikt konstverk. Använd filter för att uppnå ett brett utbud av bildeffekter. Du kan till exempel skärpa en bild eller, omvänt, lägga till en oskärpa, jämna ut den eller eliminera färgbrus. Filter är också ovärderliga när du vill förmedla unika till din bild. För att uppnå detta, applicera önskad effekt eller kombinera olika effekter. Detta tillvägagångssätt låter dig förfina färggradienter, eliminera brus och samtidigt förbättra skärpan på objektens kanter i fotot. För att filtrera WEBP-filer kommer vi att använda Aspose.Imaging for .NET API som är ett funktionsrikt, kraftfullt och lättanvänt API för bildmanipulation och konvertering för C#-plattformen. Öppna NuGet pakethanteraren, sök efter Aspose.Imaging och installera. Du kan också använda följande kommando från Package Manager Console.

Pakethanterarens konsolkommando


PM> Install-Package Aspose.Imaging

Steg för att filtrera WEBP via C#

Du behöver aspose.imaging.dll för att prova följande arbetsflöde i din egen miljö.

  • Ladda WEBP-filer med Image.Load-metoden
  • Filtrera bilder;
  • Spara komprimerad bild på skiva i det format som stöds av Aspose.Imaging

Systemkrav

Aspose.Imaging för .NET stöds på alla större operativsystem. Se bara till att du har följande förutsättningar.

  • Microsoft Windows eller ett kompatibelt operativsystem med .NET Framework, .NET Core, Windows Application, ASP.NET Web Application.
  • Utvecklingsmiljö som Microsoft Visual Studio.
  • Aspose.Imaging för .NET som refereras till i ditt projekt.
 

Filtrera bilder i WEBP - .NET

using Aspose.Imaging;
using Aspose.Imaging.FileFormats.Bmp;
using Aspose.Imaging.FileFormats.Dicom;
using Aspose.Imaging.FileFormats.Emf;
using Aspose.Imaging.FileFormats.Jpeg;
using Aspose.Imaging.FileFormats.Jpeg2000;
using Aspose.Imaging.FileFormats.Png;
using Aspose.Imaging.FileFormats.Psd;
using Aspose.Imaging.FileFormats.Tiff.Enums;
using Aspose.Imaging.ImageFilters.FilterOptions;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.Masking;
using Aspose.Imaging.Masking.Options;
using Aspose.Imaging.Masking.Result;
using Aspose.Imaging.Sources;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
string templatesFolder = @"c:\Users\USER\Downloads";
MedianFilter();
void SmallRectangularFilter()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging.imagefilters.filteroptions/smallrectangularfilteroptions
var filterRect = new Aspose.Imaging.Rectangle(image.Width / 6, image.Height / 6, image.Width * 2 / 3, image.Height * 2 / 3);
image.Filter(filterRect, new SmallRectangularFilterOptions());
}, "smallrectangular");
}
void BigRectangularFilter()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging.imagefilters.filteroptions/bigrectangularfilteroptions
var filterRect = new Aspose.Imaging.Rectangle(image.Width / 6, image.Height / 6, image.Width * 2 / 3, image.Height * 2 / 3);
image.Filter(filterRect, new BigRectangularFilterOptions());
}, "bigrectangular");
}
void SharpenFilter()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging.imagefilters.filteroptions/sharpenfilteroptions
var filterRect = new Aspose.Imaging.Rectangle(image.Width / 6, image.Height / 6, image.Width * 2 / 3, image.Height * 2 / 3);
image.Filter(filterRect, new SharpenFilterOptions());
}, "sharpen");
}
void MotionWienerFilter()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging.imagefilters.filteroptions/motionwienerfilteroptions
var filterRect = new Aspose.Imaging.Rectangle(image.Width / 6, image.Height / 6, image.Width * 2 / 3, image.Height * 2 / 3);
image.Filter(filterRect, new MotionWienerFilterOptions(20, 2, 0));
}, "motionwiener");
}
void BilateralSmoothingFilter()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging.imagefilters.filteroptions/bilateralsmoothingfilteroptions
var filterRect = new Aspose.Imaging.Rectangle(image.Width / 6, image.Height / 6, image.Width * 2 / 3, image.Height * 2 / 3);
image.Filter(filterRect, new BilateralSmoothingFilterOptions());
}, "bilateralsmoothing");
}
void GaussBlurFilter()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging.imagefilters.filteroptions/gaussianblurfilteroptions
var filterRect = new Aspose.Imaging.Rectangle(image.Width / 6, image.Height / 6, image.Width * 2 / 3, image.Height * 2 / 3);
image.Filter(filterRect, new GaussianBlurFilterOptions(5, 4));
}, "gaussblur");
}
void GaussWienerFilter()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging.imagefilters.filteroptions/gausswienerfilteroptions
var filterRect = new Aspose.Imaging.Rectangle(image.Width / 6, image.Height / 6, image.Width * 2 / 3, image.Height * 2 / 3);
image.Filter(filterRect, new GaussWienerFilterOptions(5, 5));
}, "gausswiener");
}
void MedianFilter()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging.imagefilters.filteroptions/medianfilteroptions
var filterRect = new Aspose.Imaging.Rectangle(image.Width / 6, image.Height / 6, image.Width * 2 / 3, image.Height * 2 / 3);
image.Filter(filterRect, new MedianFilterOptions(20));
}, "median");
}
void FilterImages(Action<RasterImage> doFilter, string filterName)
{
List<string> rasterFormats = new List<string>() { "jpg", "png", "bmp", "apng", "dicom",
"jp2", "j2k", "tga", "webp", "tif", "gif","ico" };
List<string> vectorFormats = new List<string>() { "svg", "otg", "odg", "eps", "wmf", "emf", "wmz", "emz", "cmx", "cdr" };
List<string> allFormats = new List<string>(rasterFormats);
allFormats.AddRange(vectorFormats);
allFormats.ForEach(
formatExt =>
{
var inputFile = Path.Combine(templatesFolder, $"template.{formatExt}");
bool isVectorFormat = vectorFormats.IndexOf(formatExt) > -1;
//Need to rasterize vector formats before background remove
if (isVectorFormat)
{
inputFile = RasterizeVectorImage(formatExt, inputFile);
}
var outputFile = Path.Combine(templatesFolder, $"{filterName}_{formatExt}.png");
Console.WriteLine($"Processing {formatExt}");
using (var image = (RasterImage)Image.Load(inputFile))
{
doFilter(image);
//If image is multipage save each page to png to demonstrate results
if (image is IMultipageImage multiPage && multiPage.PageCount > 1)
{
for (var pageIndex = 0; pageIndex < multiPage.PageCount; pageIndex++)
{
string fileName = $"{filterName}_page{pageIndex}_{formatExt}.png";
multiPage.Pages[pageIndex].Save(templatesFolder + fileName, new PngOptions());
File.Delete(templatesFolder + fileName);
}
}
else
{
image.Save(outputFile, new PngOptions());
File.Delete(outputFile);
}
}
//Remove rasterized vector image
if (isVectorFormat)
{
File.Delete(inputFile);
}
}
);
}
string RasterizeVectorImage(string formatExt, string inputFile)
{
string outputFile = Path.Combine(templatesFolder, $"rasterized.{formatExt}.png");
using (var image = Image.Load(inputFile))
{
image.Save(outputFile, new PngOptions());
}
return outputFile;
}
 
  • Om Aspose.Imaging för .NET API

    Aspose.Imaging API är en bildbehandlingslösning för att skapa, modifiera, rita eller konvertera bilder (foton) i applikationer. Det erbjuder: plattformsoberoende bildbehandling, inklusive men inte begränsat till konverteringar mellan olika bildformat (inklusive enhetlig bildbehandling med flera sidor eller flera ramar), modifieringar som ritning, arbete med grafiska primitiver, transformationer (ändra storlek, beskära, vänd och rotera , binarisering, gråskala, justera), avancerade bildmanipuleringsfunktioner (filtrering, vibrering, maskering, avskedning) och minnesoptimeringsstrategier. Det är ett fristående bibliotek och är inte beroende av någon programvara för bildoperationer. Man kan enkelt lägga till högpresterande bildkonverteringsfunktioner med inbyggda API:er inom projekt. Dessa är 100 % privata API:er på plats och bilder bearbetas på dina servrar.

    Filtrera WEBP via onlineapp

    Filtrera WEBP-dokument genom att besöka vår webbplats för Live Demos . Livedemon har följande fördelar

      Du behöver inte ladda ner eller ställa in någonting
      Du behöver inte skriva någon kod
      Ladda bara upp dina WEBP-filer och tryck på knappen Filtrera nu.
      Skaffa omedelbart nedladdningslänken för den resulterande filen

    WEBP Vad är WEBP Filformat

    WebP, introducerat av Google, är ett modernt rasterwebbbildsfilformat som är baserat på förlustfri och förlustfri komprimering. Den ger samma bildkvalitet samtidigt som den minskar bildstorleken avsevärt. Eftersom de flesta webbsidor använder bilder som effektiv representation av data, resulterar användningen av WebP-bilder på webbsidor i snabbare inläsning av webbsidor. Enligt Google är WebP-förlustfria bilder 26 % mindre i storlek jämfört med PNG-bilder, medan WebP-förlustfria bilder är 25-34 % mindre än jämförbara JPEG-bilder. Bilder jämförs baserat på SSIM-indexet (Structural Similarity) mellan WebP och andra bildfilformat. WebP är ett systerprojekt av WebM multimediacontainerformat.

    Läs mer

    Andra filterformat som stöds

    Med hjälp av C# kan man enkelt filtrera olika format inklusive.

    APNG (Animerad bärbar nätverksgrafik)
    BMP (Bitmap bild)
    ICO (Windows-ikonen)
    JPG (Förenade Fotografers Expert Grupp)
    JPEG (Förenade Fotografers Expert Grupp)
    DIB (Enhetsoberoende bitmapp)
    DICOM (Digital bildbehandling och kommunikation)
    DJVU (Grafikformat)
    DNG (Digitalkamerabild)
    EMF (Förbättrat metafilformat)
    EMZ (Windows komprimerad förbättrad metafil)
    GIF (Grafiskt utbytesformat)
    JP2 (JPEG 2000)
    J2K (Wavelet komprimerad bild)
    PNG (Bärbar nätverksgrafik)
    TIFF (Taggad bildformat)
    TIF (Taggad bildformat)
    WMF (Microsoft Windows metafil)
    WMZ (Komprimerat Windows Media Player-skal)
    TGA (Targa grafik)
    SVG (Skalbar vektorgrafik)
    EPS (Inkapslat PostScript-språk)
    CDR (Vektor Ritning Bild)
    CMX (Corel Exchange-bild)
    OTG (OpenDocument Standard)
    ODG (Apache OpenOffice ritformat)