Biblioteca Go de procesamiento de imágenes de alto nivel de código abierto
Go API que permite la rotación de imágenes, ajustar imágenes, crear miniaturas de imágenes, hacer zoom en la imagen, incrustar o extender una imagen, agregar efectos de desenfoque a una imagen y mucho más.
bimg es una biblioteca Go de procesamiento de imágenes de alto nivel de código abierto que brinda la capacidad de leer y manipular imágenes con solo un par de líneas de código Go. La biblioteca es más pequeña en tamaño pero produce resultados muy bien organizados y eficientes. La biblioteca es muy rápida en comparación con otras bibliotecas disponibles que requieren una memoria muy pequeña para completar la tarea.
Bimg es una biblioteca C de alto nivel que se basa en libvips, que es una biblioteca muy poderosa para procesar imágenes. Brinda soporte para leer algunos formatos de archivo de imagen muy populares como JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG, etc. También puede exportar fácilmente imágenes a formatos JPEG, PNG, WEBP, así como a imágenes transparentes.
La biblioteca bimg ha incluido soporte para varias funciones importantes de procesamiento de imágenes, como cambiar el tamaño de las imágenes, ampliar la imagen, recortar imágenes, incluido soporte de recorte inteligente, voltear o rotar imágenes, crear miniaturas de imágenes, soporte de zoom de imágenes, agregar marca de agua y efecto de desenfoque gaussiano, extraer área de una imagen, recorte de imágenes, conversión de imágenes a otros formatos y mucho más.
Primeros pasos con bimg
La forma más fácil y recomendada de instalar bimg es a través de GitHub.
Instalar bimg a través de GitHub
go get -u gopkg.in/h2non/bimg.v1
Conversión de imágenes a otros formatos a través de Go
La biblioteca bimg de código abierto permite a los desarrolladores de software convertir imágenes mediante programación a otros formatos de archivo compatibles con solo un par de líneas de código Go. Supongamos que tiene un archivo en formato JPEG y desea convertirlo a PNG. Debe proporcionar información de la imagen, como el nombre de la imagen, la dirección y el formato de conversión. La imagen se convertirá con éxito al formato sugerido con facilidad.
convertir JPG Imagen a GN vía Go Library
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Convert(bimg.PNG)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
if bimg.NewImage(newImage).Type() == "png" {
fmt.Fprintln(os.Stderr, "The image was converted into png")
}
Recortar o cambiar el tamaño de las imágenes
La biblioteca bimg gratuita brinda a los desarrolladores de software la capacidad de cambiar el tamaño y recortar sus imágenes dentro de sus propias aplicaciones Go. También debe proporcionar el ancho y el alto de la nueva imagen y la ubicación. También admite operaciones forzadas de cambio de tamaño sin conservar la relación de aspecto. También puede agregar texto y extraer el área de su elección de una imagen. Recortar recorta la imagen al tamaño exacto especificado.
Recuperar la imagen a través de la Biblioteca Go
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Resize(800, 600)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
size, err := bimg.NewImage(newImage).Size()
if size.Width == 800 && size.Height == 600 {
fmt.Println("The image size is valid")
}
bimg.Write("new.jpg", newImage)
Agregar marcas de agua a las imágenes
La API de bimg ha incluido la funcionalidad para agregar marcas de agua a las imágenes dentro de las aplicaciones de Go con facilidad. Agregar una marca de agua es una función muy útil para proteger sus imágenes. La marca de agua es la forma más fácil y útil de proteger tus fotos en Internet. Puede colocar fácilmente un logotipo o una marca de agua de texto. La biblioteca lo ayuda a agregar mediante programación una marca de agua a su imagen en cualquier posición seleccionada, así como la opacidad.
Añadir Watermark a la imagen a través de Go API
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
watermark := bimg.Watermark{
Text: "Chuck Norris (c) 2315",
Opacity: 0.25,
Width: 200,
DPI: 100,
Margin: 150,
Font: "sans bold 12",
Background: bimg.Color{255, 255, 255},
}
newImage, err := bimg.NewImage(buffer).Watermark(watermark)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
bimg.Write("new.jpg", newImage)
Voltear y rotar imágenes
La biblioteca bimg de código abierto brinda a los desarrolladores de software la capacidad de rotar sus imágenes de acuerdo con sus necesidades utilizando los comandos del lenguaje Go. Existe un método para la rotación automática de imágenes. La función Autorrotar rota automáticamente la imagen sin transformación adicional basada en los metadatos de orientación EXIF, si están disponibles. También brinda soporte para imágenes flip o flop, interpretación de imágenes, longitud de imagen, metadatos de imagen y mucho más.
Imagen rotativa dentro de las aplicaciones Go
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Rotate(90)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
bimg.Write("new.jpg", newImage)