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

Justera BMPs via C#

Bygg dina egna .NET-appar för att justera BMP-filer med hjälp av API:er på serversidan.

Hur man justerar BMP-filer med C#

Även de mest erfarna fotograferna kan göra misstag eller stöta på ogynnsamma ljusförhållanden under en fotografering. Sådana situationer kan leda till bilddefekter, men även ett dåligt foto har en chans. Med C#-biblioteket kan du programmässigt korrigera dessa problem genom att justera ljusstyrka, kontrast och färggamma. Om ett foto blir för mörkt kommer en ökning av ljusstyrkan att göra de mörka områdena ljusare, vilket gör tidigare dolda detaljer synliga. Justering av kontrasten ökar skillnaden mellan ljusa och mörka områden, vilket utökar ljusstyrkan för en förbättrad bild. Om du har tagit ett foto under artificiell belysning som resulterar i en oönskad färgnyans, använd färggammajusteringen för att korrigera vitbalansen. För att justera BMP-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 justera BMPs via C#

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

  • Ladda BMP-filer med Image.Load-metoden
  • Justera 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.
 

Justera BMP bilder - .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";
AdjustBrightness();
void AdjustGammaRGB()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging.rasterimage/adjustgamma/methods/1
image.AdjustGamma(5, 0.1f, 0.1f);
}, "adjustgammargb");
}
void AdjustGamma()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/adjustgamma
image.AdjustGamma(3);
}, "adjustgamma");
}
void AdjustContrast()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/adjustcontrast
image.AdjustContrast(50);
}, "adjustcontrast");
}
void AdjustBrightness()
{
FilterImages(image =>
{
//https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/adjustbrightness
image.AdjustBrightness(100);
}, "adjustbrightness");
}
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.

    Justera BMP via onlineappen

    Justera BMP-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 BMP-filer och tryck på knappen Justera nu.
      Skaffa omedelbart nedladdningslänken för den resulterande filen

    BMP Vad är BMP Filformat

    Filer med tillägget .BMP representerar bitmappsbildfiler som används för att lagra digitala bitmappsbilder. Dessa bilder är oberoende av grafikkort och kallas även enhetsoberoende bitmappsfilformat (DIB). Detta oberoende tjänar syftet att öppna filen på flera plattformar som Microsoft Windows och Mac. BMP-filformatet kan lagra data som tvådimensionella digitala bilder i både svartvitt och färgformat med olika färgdjup.

    Läs mer

    Andra stödda justeringsformat

    Med C# kan man enkelt justera olika format inklusive.

    APNG (Animerad bärbar nätverksgrafik)
    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)
    WEBP (Raster webbbild)
    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)