Vá para J2K via C#
Crie seus próprios aplicativos .NET para mesclar arquivos J2K usando APIs do lado do servidor.
Como mesclar arquivos J2K usando C#
Se você quiser dar asas à sua criatividade, então é hora de usar uma colagem de imagens. Esta função permitirá mesclar fotos e imagens mesmo que os arquivos de origem sejam de formatos diferentes. Uma ótima maneira de chamar a atenção para o seu portfólio é usar papéis de parede fotográficos com imagens ou padrões repetidos. Neste caso, as imagens podem ser combinadas tanto na direção horizontal quanto na vertical. Caso precise demonstrar o resultado do processamento de um arquivo, você pode facilmente mesclar duas imagens: antes e depois da aplicação do efeito fotográfico. Para mesclar arquivos J2K, usaremos Aspose.Imaging for .NET API que é uma API de manipulação e conversão de imagens rica em recursos, poderosa e fácil de usar para a plataforma C#. Abrir NuGet gerenciador de pacotes, procure por Aspose.Imagem e instalar. Você também pode usar o seguinte comando do Console do Gerenciador de Pacotes.
Comando do Console do Gerenciador de Pacotes
PM> Install-Package Aspose.Imaging
Etapas para mesclar J2Ks via C#
Você precisa do aspose.imaging.dll para experimentar o fluxo de trabalho a seguir em seu próprio ambiente.
- Carregar arquivos J2K com o método Image.Load
- Combinando imagens em uma nova
- Salve a imagem mesclada no disco no formato suportado pelo Aspose.Imaging
Requisitos de sistema
Aspose.Imaging para .NET é compatível com todos os principais sistemas operacionais. Apenas certifique-se de ter os seguintes pré-requisitos.
- Microsoft Windows ou um sistema operacional compatível com .NET Framework, .NET Core, Windows Application, ASP.NET Web Application.
- Ambiente de desenvolvimento como Microsoft Visual Studio.
- Aspose.Imaging for .NET referenciado em seu projeto.
Mesclar imagens J2K - .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); | |
} |
Sobre o Aspose.Imaging para a API .NET
Aspose.Imaging API é uma solução de processamento de imagens para criar, modificar, desenhar ou converter imagens (fotos) dentro de aplicativos. Oferece: Processamento de imagem multiplataforma, incluindo, mas não limitado a, conversões entre vários formatos de imagem (incluindo processamento de imagem uniforme de várias páginas ou vários quadros), modificações como desenho, trabalho com primitivos gráficos, transformações (redimensionar, cortar, virar e girar , binarização, escala de cinza, ajuste), recursos avançados de manipulação de imagem (filtragem, pontilhamento, mascaramento, alinhamento) e estratégias de otimização de memória. É uma biblioteca autônoma e não depende de nenhum software para operações de imagem. Pode-se adicionar facilmente recursos de conversão de imagem de alto desempenho com APIs nativas nos projetos. Essas são APIs locais 100% privadas e as imagens são processadas em seus servidores.Mesclar J2Ks via aplicativo on-line
Mescle documentos J2K visitando nosso site de demonstrações ao vivo . A demonstração ao vivo tem os seguintes benefícios
J2K O que é J2K Formato de arquivo
Um arquivo J2K é uma imagem compactada usando a compactação wavelet em vez da compactação DCT.
consulte Mais informaçãoOutros formatos de mesclagem compatíveis
Usando C#, pode-se mesclar facilmente diferentes formatos, incluindo.