Librería para combinar, redimensionar y reescalar imágenes que por debajo utiliza ImageSharp.
PromatImages está diponible por NuGet PromatImages
Podemos crear fácilmente una composición a partir de varias imágenes para ello debemos:
- Comenzar por indicar las características del lienzo
- Añadir tantas imágenes como queramos a la composición (configurando su tamaño, opacidad y localización)
- Generar la composición
// Iniciamos la composición indicando que será de 512 x 512 pixels
var resultImage = Composition.Begin(512, 512)
// Añadimos las imágenes
// la primera imagen se dibujará en un tamaño de 400 x 400 en el centro de la composición
.Add(Images[0], 400, 400, ContentAlignment.MiddleCenter)
// la sengunda imagen se dibujará en un tamaño de 350 x 350 en el centro de la composición
.Add(Images[1], 350, 350, ContentAlignment.MiddleCenter)
// la tercera imagen se dibujará en un tamaño de 256 x 256 en la esquiña inferior izquiera de la composición
// y ademas la desplazaremos 40 px más a la iaquiera y 5 px más hacia abajo
.Add(Images[2], 256, 256, ContentAlignment.BottomLeft, -40, 5)
// Obtenemos la composición con los parámetros configurados anteriormente
.Compose();
// Guardamos la composición
resultImage.Save(Path.Combine(OutputPath, "composition2.png"));Para cambiar el tamaño con la función "Resize" solo necesitamos indicanr imagen y el tamaño deseado.
// Redimensionar a partir de un System.Drawing.Image o System.Drawing.Bitmap
Image miImagenRedimensionada1 = Transformation.Resize(Resources.PromatLogo, 32, 32);o
// Redimensionar a partir de un archivo
string imagenFile = @"C:\Users\Usuario\Pictures\mi_imagen.png";
Image miImagenRedimensionada2 = Transformation.Resize(imagenFile, 16, 16);El reescalado redimensionará la imagen al ancho o alto máximo indicado, según su relación de aspecto y manteniendo dicha relación. Solo necesitamos indicanr imagen y el tamaño deseado.
// Reescalado a partir de un System.Drawing.Image o System.Drawing.Bitmap
Image miImagenReescalada1 = Transformation.Scale(Resources.PromatLogo, 150, 120);o
// Reescalado a partir de un archivo
string imagenFile = @"C:\Users\Usuario\Pictures\mi_imagen.png";
Image miImagenReescalada2 = Transformation.Scale(imagenFile, 75, 50);Mediante la función "Opacity" podemos cambiar la opacidad de una imagen; sólo necesitamos indicar la imagen y el nivel de opacidad deseado.
// Cambiar la opacidad a partir de un System.Drawing.Image o System.Drawing.Bitmap
Image miImagenSemitransparente1 = Transformation.Opacity(Resources.PromatLogo, 0.5f);o
// Cambiar la opacidad a partir de un archivo
string imagenFile = @"C:\Users\Usuario\Pictures\mi_imagen.png";
Image miImagenSemitransparente2 = Transformation.Opacity(imagenFile, 0.5f);