Cómo fusionar JPG a JPG en C#

Cómo fusionar JPG a JPG en C#

Desarrollemos una fusión de JPG a JPG usando esta biblioteca de imágenes de C#. Hay muchos escenarios en los que necesita fusionar varias imágenes en un solo archivo de imagen. Por lo tanto, la automatización de todo este proceso le dará a su software comercial una ventaja competitiva. Por lo tanto, en esta publicación de blog, aprenderemos cómo fusionar JPG con JPG en C# usando los métodos expuestos por esta poderosa biblioteca. Al final de este artículo, podrá escribir fragmentos de código para lograr esta funcionalidad.

Las siguientes secciones serán cubiertas en esta guía:

Instalación de la biblioteca de imágenes de C#

La mejor parte es que puede instalar esta biblioteca de nivel empresarial fácilmente. Sin embargo, descargue su archivo DLL o instálelo ejecutando el siguiente comando en el administrador de paquetes NuGet.

Install-Package Aspose.Imaging

Cómo fusionar JPG a JPG en C#

Hasta ahora, ha instalado esta biblioteca de imágenes de C# en su aplicación .NET. Por lo tanto, está listo para comenzar a escribir código para crear una fusión de JPG a JPG mediante programación.

Siga los pasos y los fragmentos de código que se mencionan a continuación:

  1. Llame a la propiedad Size para obtener el tamaño de imagen resultante.
  2. Recorra las rutas de la imagen, cargue la imagen una por una invocando el método Load de la clase Image y agréguela a la lista imageSizes.
  3. Calcula el ancho y el alto de la imagen.
  4. Inicialice una nueva instancia de la clase FileCreateSource.
  5. Cree un nuevo objeto de la clase JpegOptions.
  6. Invoque el método Create que crea una nueva imagen utilizando las opciones de creación especificadas.
  7. Recorra las imágenes, cargue las imágenes llamando al método Load.
  8. Inicialice una nueva instancia de la estructura Rectangle con la ubicación y el tamaño especificados.
  9. Invoque el método SaveArgb32Pixels para guardar los píxeles ARGB de 32 bits.
  10. Llame al método Save para guardar los datos de la imagen en el flujo especificado en el formato de archivo especificado de acuerdo con las opciones de guardado.

Copie y pegue el siguiente código en su archivo principal:

using Aspose.Imaging;
using Aspose.Imaging.FileFormats.Jpeg;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.Sources;
string[] imagePaths = {"image.jpg", "image.jpg" };
string outputPath =   "result1.jpg";
string tempFilePath = "temp.jpg";
// Llame a la propiedad Tamaño para obtener el tamaño de imagen resultante. 
List<Size> imageSizes = new List<Size>();
// Recorra las rutas de la imagen, cargue la imagen una por una invocando el método Load de la clase Image y agréguela a la lista imageSizes.
foreach (string imagePath in imagePaths)
{
    using (RasterImage image = (RasterImage)Image.Load(imagePath))
    {
        imageSizes.Add(image.Size);
    }
}
// Calcula el ancho y el alto de la imagen. 
int newWidth = imageSizes.Sum(size => size.Width);
int newHeight = imageSizes.Max(size => size.Height);
// Inicialice una nueva instancia de la clase FileCreateSource. 
Source tempFileSource = new FileCreateSource(tempFilePath, isTemporal: true);
// Crear un nuevo objeto de la clase JpegOptions  
JpegOptions options = new JpegOptions() { Source = tempFileSource, Quality = 100 };
// Invoque el método Create que crea una nueva imagen utilizando las opciones de creación especificadas. 
using (JpegImage newImage = (JpegImage)Image.Create(options, newWidth, newHeight))
{
    // Recorra las imágenes, cargue las imágenes llamando al método Load. 
    int stitchedWidth = 0;
    foreach (string imagePath in imagePaths)
    {
        using (RasterImage image = (RasterImage)Image.Load(imagePath))
        {
            // Inicialice una nueva instancia de la estructura Rectangle con la ubicación y el tamaño especificados. 
            Rectangle bounds = new Rectangle(stitchedWidth, 0, image.Width, image.Height);
            // Invoque el método SaveArgb32Pixels para guardar los píxeles ARGB de 32 bits.
            newImage.SaveArgb32Pixels(bounds, image.LoadArgb32Pixels(image.Bounds));
            stitchedWidth += image.Width;
        }
    }
    // Llame al método Save para guardar los datos de la imagen en la secuencia especificada en el formato de archivo especificado de acuerdo con las opciones de guardado. 
    newImage.Save(outputPath);
}

Puedes ver la salida en la siguiente imagen:

Fusión de JPG a JPG

Obtenga una licencia gratis

Puede aprovechar una licencia temporal gratuita para probar la API sin limitaciones de evaluación.

Resumiendo

Este es el final de esta publicación de blog. Ha aprendido a fusionar JPG con JPG en C# utilizando esta biblioteca de imágenes de C#. Además, puede crear una fusión de JPG a JPG para su aplicación comercial mediante programación. Además, no olvide visitar la documentación para conocer otras características interesantes.

Además, le sugerimos que siga nuestra Guía de introducción.

Finalmente, conholdate.com está escribiendo nuevas publicaciones de blog. Por lo tanto, manténgase en contacto para recibir actualizaciones periódicas.

Hacer una pregunta

Puede informarnos sobre sus preguntas o consultas en nuestro foro.

preguntas frecuentes

¿Cómo combino archivos JPG en un JPG?

Invoque el método Load, cree una instancia de la clase JpegOptions e invoque el método Save para guardar el archivo. Además, puede visitar este enlace para conocer el fragmento de código completo escrito en C#.

¿Cómo combino archivos JPEG en un solo documento?

Puede aprovechar esta biblioteca de imágenes de C# para combinar archivos de imágenes JPEG/JPG en un documento mediante programación.

Ver también