1. Productos
  2.   Imagen
  3.   .NET
  4.   ImageSharp  

ImageSharp  

 
 

Biblioteca C# .NET de código abierto para gráficos 2D

Lea, escriba, modifique, cambie el tamaño y convierta imágenes PNG, JPEG, GIF y TIFF utilizando la API .NET.

ImageSharp es una biblioteca de código abierto multiplataforma simple pero muy poderosa para el procesamiento de archivos de imagen dentro de aplicaciones C#. Es una API de gráficos 2D multiplataforma y completamente administrada diseñada para permitir el procesamiento de imágenes. ImageSharp es una biblioteca de procesamiento de imágenes de código abierto que se lanzó con el objetivo de proporcionar una alternativa a las API System.Drawing.

Esta API es integral y admite algoritmos avanzados para el procesamiento de imágenes. La API se mejora año tras año para brindar soporte para un procesamiento de imágenes más avanzado. Su única dependencia es el mismo .NET, lo que lo hace extremadamente portátil. La API ha incluido soporte para funciones avanzadas como cambio de tamaño de imagen, codificación y decodificación de imágenes, decodificación de metadatos de imágenes únicamente, clonación de imágenes, dibujo de marca de agua en la imagen, dibujo de texto a lo largo de una ruta y mucho más.

Previous Next

Primeros pasos con ImageSharp

Una versión estable está disponible en NuGet Para las versiones beta, asegúrese de que el interruptor Incluir versión preliminar esté habilitado. Las versiones de desarrollo están disponibles a través de MyGet.

Instalar ImageSharp a través de NuGet

Install-Package SixLabors.ImageSharp -Version number 

API de C# para cambiar el tamaño de las imágenes

La biblioteca ImageSharp permite a los programadores de C# .NET cambiar el tamaño de las imágenes dentro de sus propias aplicaciones .NET. Cambiar el tamaño de una imagen requiere el proceso de generar e iterar a través de los píxeles de una imagen de destino y muestrear áreas de una imagen de origen para elegir qué color implementar para cada píxel. Puede configurar fácilmente el algoritmo al procesar imágenes, como Bicubic, Hermite, Box, CatmullRom, Lanczos2 y más. Además de las operaciones básicas de cambio de tamaño, ImageSharp también ofrece funciones más avanzadas.

Redimensionar imágenes a través de C API

// Load File 
using (Image image = Image.Load("fileformat.jpg"))
{
  // Resize file 
  image.Mutate(x => x
      .Resize(image.Width / 2, image.Height / 2)
      .greyscale());
  // Save
  image.Save("fileformat_out.jpg");
}                
                  

Dibujar marca de agua en la imagen

Por lo general, las personas protegen sus imágenes colocando una gran marca de agua superpuesta para evitar que las personas usen las imágenes sin autorización. La biblioteca ImageSharp brinda soporte para agregar marcas de agua a imágenes dentro de aplicaciones C++. Para comenzar, necesita una familia de fuentes y puede obtener una fácilmente de la tienda de fuentes del sistema. Dibuje el texto sobre la imagen y grábelo con un 50% de opacidad.

Dibujar Texto A lo largo de un Camino Aplicar Efecto a la Imagen

La biblioteca ImageSharp permite a los desarrolladores C.NET dibujar algún texto después de los contornos de un camino. Se recomienda crear una colección de fuentes. En primer lugar, vamos a generar el texto como un conjunto de vectores dibujados a lo largo del camino. Después de dibujar el camino para poder ver lo que el texto se supone que está siguiendo. El ImageSharp API también permite aplicar varios tipos de efectos a imágenes sólo dentro de una forma.

Aplicar el efecto en las imágenes


namespace CustomImageProcessor
{
    static class Program
    {
        static void Main(string[] args)
        {
            System.IO.Directory.CreateDirectory("output");
            using (Image image = Image.Load("fb.jpg"))
            {
                var outerRadii = Math.Min(image.Width, image.Height) / 2;
                var star = new Star(new PointF(image.Width / 2, image.Height / 2), 5, outerRadii / 2, outerRadii);
                using (var clone = image.Clone(p =>
                {
                    p.GaussianBlur(15); // apply the effect here you and inside the shape
                }))
                {
                    clone.Mutate(x => x.Crop((Rectangle)star.Bounds));
                    var brush = new ImageBrush(clone);
                    // cloned image with the effects applied
                    image.Mutate(c => c.Fill(brush, star));
                }
                image.Save("output/fb.png");
            }
        }
    }
}              
 Español