Koreguokite J2K naudodami C#
Kurkite savo .NET programas, kad sureguliuotumėte J2K failus naudodami serverio API.
Kaip koreguoti J2K failus naudojant C#
Net ir labiausiai patyrę fotografai fotografuodami gali suklysti arba susidurti su nepalankiomis apšvietimo sąlygomis. Tokios situacijos gali sukelti vaizdo defektų, tačiau net ir bloga nuotrauka turi galimybę. Naudodami C# biblioteką galite programiškai ištaisyti šias problemas koreguodami šviesumą, kontrastą ir spalvų gamą. Jei nuotrauka pasirodys per tamsi, padidinus ryškumą tamsios sritys bus pašviesintos, todėl bus matomos anksčiau paslėptos detalės. Reguliuojant kontrastą padidėja skirtumas tarp šviesių ir tamsių sričių, išplečiamas ryškumo diapazonas, kad vaizdas būtų geresnis. Jei fotografavote esant dirbtiniam apšvietimui, dėl kurio atsiranda nepageidaujamas spalvų atspalvis, naudokite spalvų gama reguliavimą, kad pataisytumėte baltos spalvos balansą. Norėdami pakoreguoti J2K failus, naudosime Aspose.Imaging for .NET API, kuri yra daug funkcijų, galinga ir lengvai naudojama vaizdo apdorojimo ir konvertavimo API, skirta C# platformai. Atviras NuGet paketų tvarkyklė, ieškokite Aspose.Imaging ir įdiegti. Taip pat galite naudoti šią komandą iš paketų tvarkyklės konsolės.
Paketų tvarkytuvės konsolės komanda
PM> Install-Package Aspose.Imaging
Veiksmai J2K koregavimui naudojant C#
Jums reikia aspose.imaging.dll norėdami išbandyti šią darbo eigą savo aplinkoje.
- Įkelkite J2K failus naudodami Image.Load metodą
- Koreguoti vaizdus;
- Išsaugokite suspaustą vaizdą į diską palaikomu Aspose.Imaging formatu
Sistemos reikalavimai
„Aspose.Imaging“, skirta .NET, palaikoma visose pagrindinėse operacinėse sistemose. Tiesiog įsitikinkite, kad turite šias būtinas sąlygas.
– Microsoft Windows arba suderinama OS su .NET Framework, .NET Core, Windows Application, ASP.NET Web Application.
- Kūrimo aplinka, tokia kaip Microsoft Visual Studio. – Aspose.Imaging, skirtas .NET, nurodytas jūsų projekte.
Koreguokite J2K vaizdus – .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; | |
} |
Apie „Aspose.Imaging“, skirta .NET API
Aspose.Imaging API yra vaizdo apdorojimo sprendimas, skirtas kurti, modifikuoti, piešti ar konvertuoti vaizdus (nuotraukas) programose. Ji siūlo: kelių platformų vaizdo apdorojimą, įskaitant, bet tuo neapsiribojant, konvertavimą tarp įvairių vaizdo formatų (įskaitant vienodą kelių puslapių arba kelių kadrų vaizdo apdorojimą), modifikacijas, tokias kaip piešimas, darbas su grafiniais primityvais, transformacijos (keisti dydį, apkarpyti, apversti ir pasukti). , dvejetainis, pilkos spalvos tonas, koregavimas), pažangios vaizdo apdorojimo funkcijos (filtravimas, keitimas, maskavimas, iškrypimas) ir atminties optimizavimo strategijos. Tai yra atskira biblioteka ir nepriklauso nuo jokios programinės įrangos vaizdo operacijoms. Projektuose galima lengvai pridėti didelio našumo vaizdo konvertavimo funkcijų naudojant vietines API. Tai yra 100 % privačios vietinės API, o vaizdai apdorojami jūsų serveriuose.Koreguokite J2K naudodami internetinę programą
Koreguokite J2K dokumentus apsilankę mūsų tiesioginės demonstracinės versijos svetainėje . Tiesioginė demonstracinė versija turi šiuos privalumus
J2K Kas yra J2K Failo formatas
J2K failas yra vaizdas, suglaudintas naudojant banglečių glaudinimą, o ne DCT glaudinimą.
Skaityti daugiauKiti palaikomi koregavimo formatai
Naudodami C# galite lengvai reguliuoti įvairius formatus, įskaitant.