Библиотека Go для высокоуровневой обработки изображений с открытым исходным кодом

Go API, который позволяет поворачивать изображения, подгонять изображения, создавать миниатюры изображений, масштабировать изображение, встраивать или расширять изображение, добавлять эффекты размытия к изображению и многое другое.

bimg — это высокоуровневая библиотека Go для обработки изображений с открытым исходным кодом, которая предоставляет возможность чтения изображений и управления ими с помощью всего пары строк кода Go. Библиотека меньше по размеру, но дает очень хорошо организованные и эффективные результаты. Библиотека работает очень быстро по сравнению с другими доступными библиотеками, которым требуется очень мало памяти для выполнения задачи.

bimg — это высокоуровневая библиотека C, построенная поверх libvips, которая является очень мощной библиотекой для обработки изображений. Он обеспечивает поддержку чтения некоторых очень популярных форматов файлов изображений, таких как JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG и т. д. Вы также можете легко экспортировать изображения в форматы JPEG, PNG, WEBP, а также в прозрачные изображения.

Библиотека bimg включает поддержку нескольких важных функций обработки изображений, таких как изменение размера изображений, увеличение изображения, обрезка изображения, включая поддержку интеллектуальной обрезки, переворачивание или поворот изображений, создание эскизов изображений, поддержка масштабирования изображения, добавление водяных знаков и эффект размытия по Гауссу, извлечение конкретных область изображения, обрезка изображений, преобразование изображений в другие форматы и многое другое.

Previous Next

Начало работы с бимг

Самый простой и рекомендуемый способ установки bimg — через GitHub.

Установите bimg через GitHub

 go get -u gopkg.in/h2non/bimg.v1

Преобразование изображений в другие форматы через Go

Библиотека bimg с открытым исходным кодом позволяет разработчикам программного обеспечения программно преобразовывать изображения в другие поддерживаемые форматы файлов всего за пару строк кода Go. Предположим, у вас есть файл в формате JPEG, и вы хотите преобразовать его в PNG. Вам необходимо предоставить информацию об изображении, такую как имя изображения, адрес и формат преобразования. Изображение будет успешно преобразовано в предложенный формат с легкостью.

конвертировать JPG Image to NG через 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")
}

Обрезать или изменить размер изображений

Бесплатная библиотека bimg дает разработчикам программного обеспечения возможность изменять размер и обрезать изображения в своих собственных приложениях Go. Вам также необходимо указать ширину и высоту нового изображения и местоположения. Он также поддерживает операции принудительного изменения размера без сохранения соотношения сторон. Вы также можете добавить текст и извлечь выбранную область из изображения. Crop обрезает изображение точно до указанного размера.

Изменить размер изображения с помощью библиотеки 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)

Добавление водяных знаков к изображениям

API-интерфейс bimg включает в себя функции для легкого добавления водяных знаков к изображениям внутри приложений Go. Добавление водяного знака — очень полезная функция для защиты ваших изображений. Водяные знаки — это самый простой и очень полезный способ защитить ваши фотографии в Интернете. Вы можете легко разместить логотип или текстовый водяной знак. Библиотека поможет вам программно добавить водяной знак к вашему изображению в любой выбранной позиции, а также непрозрачность.

Добавить водяной знак для изображения через 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)

Отразить и повернуть изображения

Библиотека bimg с открытым исходным кодом дает разработчикам программного обеспечения возможность поворачивать свои изображения в соответствии со своими потребностями с помощью команд языка Go. Существует метод автоматического поворота изображения. Функция AutoRotate автоматически поворачивает изображение без дополнительных преобразований на основе метаданных ориентации EXIF, если они доступны. Он также обеспечивает поддержку флип- или флоп-изображений, интерпретацию изображений, длину изображения, метаданные изображения и многое другое.

Rotate Image Inside Go Apps

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)
 Русский