Mergi
GO API para la manipulación avanzada de imágenes
Biblioteca Open Source Go para fusionar, recortar y cambiar el tamaño de las imágenes mediante programación. Puede agregar marcas de agua y animaciones a las imágenes dentro de sus propias aplicaciones.
Mergi es una poderosa biblioteca de go que brinda la capacidad de procesar imágenes mediante programación utilizando el lenguaje GO. La biblioteca está bien organizada y se puede integrar fácilmente para realizar numerosas operaciones con solo un par de líneas de código Go. La biblioteca está disponible gratuitamente bajo la licencia MIT y puede usarse dentro de sus proyectos con facilidad.
La biblioteca Mergi de código abierto ha incluido soporte completo para varias funciones importantes de procesamiento de imágenes, como la combinación de imágenes, soporte para recortar imágenes, cambiar el tamaño de las imágenes, agregar marcas de agua a sus imágenes, función de animación de imágenes, suavizar imágenes, agregar transiciones a las imágenes y mucho más.
Primeros pasos con Mergi
La forma más fácil de instalar Mergi es mediante GitHub. Utilice el siguiente comando para una instalación sin problemas
Instale Mergi a través de GitHub.
$ go get github.com/noelyahan/mergi
Animar imágenes a través de Go API
La biblioteca Mergi de código abierto brinda a los desarrolladores de software el poder de animar cualquier resultado de matriz de imagen dada dentro de sus propias aplicaciones GO. Debe proporcionar la ruta correcta de la imagen o la URL de la ruta del archivo. Luego, debe pasar las imágenes a una matriz y aplicar el retraso según sus necesidades. Al final, puede exportar el resultado final a través de un exportador de animación para obtener el archivo GIF resultante.
Cómo Animar las imágenes a través de Go API
func Animate(imgs []image.Image, delay int) (gif.GIF, error) {
for i, v := range imgs {
if v == nil {
msg := fmt.Sprintf("Mergi found a error image=[%v] on %d", v, i)
return gif.GIF{}, errors.New(msg)
}
}
delays := make([]int, 0)
for i := 0; i < len(imgs); i++ {
delays = append(delays, delay)
}
images := encodeImgPaletted(&imgs)
return gif.GIF{
Image: images,
Delay: delays,
}, nil
}
Recorte de imágenes a través de Go API
Una imagen perfecta vale más que mil palabras. El recorte de imágenes es la eliminación de un área no deseada de una imagen para crear un enfoque o fortalecer la imagen. La biblioteca Mergi permite a los programadores de software recortar sus imágenes dentro de sus propias aplicaciones Go. El desarrollador debe proporcionar el ancho y el alto personalizados de la imagen y la ubicación requeridas.
Imagen de cultivos vía Go API
var errCrop = errors.New("Mergi found a error image on Crop")
var errCropBound = errors.New("Mergi expects more than 0 value for bounds")
func Animate(imgs []image.Image, delay int) (gif.GIF, error) {
for i, v := range imgs {
if v == nil {
msg := fmt.Sprintf("Mergi found a error image=[%v] on %d", v, i)
return gif.GIF{}, errors.New(msg)
}
}
delays := make([]int, 0)
for i := 0; i < len(imgs); i++ {
delays = append(delays, delay)
}
images := encodeImgPaletted(&imgs)
return gif.GIF{
Image: images,
Delay: delays,
}, nil
}
Adición de marcas de agua a las imágenes
La biblioteca Mergi gratuita brinda a los programadores de software la capacidad de insertar marcas de agua mediante programación en imágenes dentro de sus aplicaciones Go con facilidad. Mediante el uso de la función Marca de agua, podemos proteger nuestras imágenes fácilmente contra la creación y distribución de copias no autorizadas. La biblioteca admite la colocación de un logotipo y marcas de agua de texto utilizando un par de líneas de código Go. Las marcas de agua se pueden colocar en cualquier posición seleccionada de su elección, así como con la opacidad de su elección.
Añadir Watermark a la imagen vía Go API
originalImage, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_1.png"))
watermarkImage, _ := mergi.Import(impexp.NewFileImporter("./testdata/glass-mergi_logo_watermark_90x40.jpg"))
res, _ := mergi.Watermark(watermarkImage, originalImage, image.Pt(250, 10))
mergi.Export(impexp.NewFileExporter(res, "watermark.png"))
Compatibilidad con la combinación de imágenes
La biblioteca Mergi facilita a los desarrolladores combinar múltiples imágenes en una sola imagen de acuerdo con sus necesidades mediante los comandos de programación de Go. La biblioteca admite la combinación de varias imágenes según las plantillas dadas. Admite instalaciones de fusión horizontal y fusión vertical. Para combinar dos imágenes, debe proporcionar una ruta de imagen o una URL correcta y, luego, puede seleccionar una plantilla para combinar las imágenes horizontal o verticalmente.
Merge Images vía Go API
image1, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_1.png"))
image2, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_2.png"))
horizontalImage, _ := mergi.Merge("TT", []image.Image{image1, image2})
mergi.Export(impexp.NewFileExporter(horizontalImage, "horizontal.png"))
verticalImage, _ := mergi.Merge("TB", []image.Image{image1, image2})
mergi.Export(impexp.NewFileExporter(verticalImage, "vertical.png"))