Ga naar JP2 via C#
Bouw uw eigen .NET-apps om JP2-bestanden samen te voegen met behulp van server-side API’s.
Hoe JP2-bestanden samen te voegen met C#
Als u uw creativiteit de vrije loop wilt laten, dan is dit het moment om een beeldcollage te gebruiken. Met deze functie kunt u foto’s en afbeeldingen samenvoegen, zelfs als de bronbestanden verschillende formaten hebben. Een geweldige manier om de aandacht op uw portfolio te vestigen, is door fotobehang te gebruiken met herhalende afbeeldingen of patronen. In dit geval kunnen afbeeldingen zowel in horizontale als verticale richting worden gecombineerd. In het geval dat u het resultaat van de verwerking van een bestand moet demonstreren, kunt u eenvoudig twee afbeeldingen samenvoegen: voor en na het toepassen van het foto-effect. Om JP2-bestanden samen te voegen, gebruiken we Aspose.Imaging voor .NET API, een veelzijdige, krachtige en gebruiksvriendelijke API voor beeldmanipulatie en conversie voor het C#-platform. Open NuGet pakketbeheerder, zoek naar Aspose.Imaging en installeren. U kunt ook de volgende opdracht gebruiken vanuit de Package Manager Console.
Package Manager Console Command
PM> Install-Package Aspose.Imaging
Stappen om JP2's samen te voegen via C#
Je hebt de nodig aspose.imaging.dll om de volgende workflow in uw eigen omgeving te proberen.
- Laad JP2-bestanden met de methode Image.Load
- Afbeeldingen combineren tot een nieuwe
- Bewaar samengevoegde afbeelding op schijf in het formaat dat wordt ondersteund door Aspose.Imaging
systeem vereisten
Aspose.Imaging voor .NET wordt ondersteund op alle belangrijke besturingssystemen. Zorg ervoor dat u aan de volgende vereisten voldoet.
- Microsoft Windows of een compatibel besturingssysteem met .NET Framework, .NET Core, Windows Application, ASP.NET Web Application.
- Ontwikkelomgeving zoals Microsoft Visual Studio.
- Aspose.Imaging voor .NET waarnaar in uw project wordt verwezen.
JP2 afbeeldingen samenvoegen - .NET
using Aspose.Imaging; | |
using Aspose.Imaging.FileFormats.Png; | |
using Aspose.Imaging.ImageOptions; | |
using Aspose.Imaging.Sources; | |
using System.Collections.Generic; | |
using System.IO; | |
string templatesFolder = @"c:\Users\USER\Downloads\templates\"; | |
string dataDir = templatesFolder; | |
var images = new List<Image>(); | |
string[] files = new string[] { "template.png", "template.jpg" }; | |
//Indicate how to merge, 0 - horizontal, 1 - vertical | |
byte[] mergeDirection = new byte[] { 0, 1 }; | |
int maxWidth = 0; | |
int maxHeight = 0; | |
int totalWidth = 0; | |
int totalHeight = 0; | |
foreach (var fileName in files) | |
{ | |
var image = Image.Load(dataDir + fileName); | |
totalWidth += image.Width; | |
if (image.Width > maxWidth) | |
{ | |
maxWidth = image.Width; | |
} | |
totalHeight += image.Height; | |
if (image.Height > maxHeight) | |
{ | |
maxHeight = image.Height; | |
} | |
images.Add(image); | |
} | |
MergeImages(0); | |
MergeImages(1); | |
images.ForEach(image => image.Dispose()); | |
File.Delete(dataDir + "result.gif"); | |
void MergeImages(byte direction) | |
{ | |
int targetWidth, targetHeight; | |
if (direction == 0) | |
{ | |
targetWidth = totalWidth; | |
targetHeight = maxHeight; | |
} | |
else | |
{ | |
targetWidth = maxWidth; | |
targetHeight = totalHeight; | |
} | |
var outputPath = dataDir; | |
outputPath = Path.Combine(outputPath, "result" + direction + ".png"); | |
var pngOptions = new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha }; | |
using (Stream stream = new MemoryStream()) | |
{ | |
pngOptions.Source = new StreamSource(stream); | |
using (var image = Image.Create(pngOptions, targetWidth, targetHeight)) | |
{ | |
image.BackgroundColor = Color.White; | |
var graphics = new Graphics(image); | |
float x = 0, y = 0; | |
images.ForEach(image => | |
{ | |
graphics.DrawImage(image, new RectangleF(x, y, image.Width, image.Height)); | |
if (direction == 0) | |
{ | |
x += image.Width; | |
} | |
if (direction == 1) | |
{ | |
y += image.Height; | |
} | |
}); | |
image.Save(outputPath); | |
} | |
} | |
File.Delete(outputPath); | |
} |
Over Aspose.Imaging voor .NET API
Aspose.Imaging API is een beeldverwerkingsoplossing voor het maken, wijzigen, tekenen of converteren van afbeeldingen (foto’s) binnen applicaties. Het biedt: platformonafhankelijke beeldverwerking, inclusief maar niet beperkt tot conversies tussen verschillende beeldformaten (inclusief uniforme beeldverwerking van meerdere pagina’s of meerdere frames), aanpassingen zoals tekenen, werken met grafische primitieven, transformaties (formaat wijzigen, bijsnijden, spiegelen en roteren , binarisatie, grijswaarden, aanpassen), geavanceerde functies voor beeldmanipulatie (filteren, dithering, maskeren, rechtzetten) en strategieën voor geheugenoptimalisatie. Het is een op zichzelf staande bibliotheek en is niet afhankelijk van software voor beeldbewerkingen. Men kan eenvoudig hoogwaardige functies voor beeldconversie toevoegen met native API’s binnen projecten. Dit zijn 100% private on-premise API’s en afbeeldingen worden verwerkt op uw servers.Voeg JP2’s samen via online app
Voeg JP2-documenten samen door naar onze Live Demo-website te gaan. De live demo heeft de volgende voordelen:
JP2 Wat is JP2 Bestandsformaat
JPEG 2000 (JP2) is een beeldcoderingssysteem en de modernste beeldcompressiestandaard. Ontworpen, met behulp van wavelet-technologie, kan JPEG 2000 verliesvrije inhoud in elke kwaliteit tegelijk coderen. Bovendien heeft JPEG 2000, zonder enige substantiële schade aan de coderingsefficiëntie, de mogelijkheid om dezelfde inhoud op doeltreffende wijze te openen en te decoderen in een verscheidenheid aan andere resoluties en kwaliteiten. De codestromen in JPEG 2000 zijn aanzienlijk schaalbaar met interessegebieden die de mogelijkheid bieden voor ruimtelijke willekeurige toegang. Met tot 16384 verschillende componenten met afmetingen in terapixels en een precisie die kan oplopen tot 38 bits/sample.
Lees verderAndere ondersteunde samenvoegindelingen
Met behulp van C# kan men gemakkelijk verschillende formaten samenvoegen, waaronder.