Бібліотека високорівневої обробки зображень із відкритим кодом Go
Go API, який дозволяє обертати зображення, припасовувати зображення, створювати мініатюри зображень, масштабувати зображення, вставляти чи розширювати зображення, додавати ефекти розмиття до зображення та багато іншого.
bimg — це бібліотека Go для високорівневої обробки зображень із відкритим вихідним кодом, яка надає можливість читати та маніпулювати зображеннями лише за допомогою кількох рядків коду Go. Бібліотека менша за розміром, але дає дуже добре організовані та ефективні результати. Бібліотека дуже швидка порівняно з іншими доступними бібліотеками, які потребують дуже мало пам’яті для виконання завдання.
Bimg — це високорівнева бібліотека C, побудована на основі libvips, яка є дуже потужною бібліотекою для обробки зображень. Він підтримує читання деяких дуже популярних форматів файлів зображень, таких як JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG тощо. Ви також можете легко експортувати зображення у формати JPEG, PNG, WEBP, а також у прозорі зображення.
Бібліотека bimg включає підтримку кількох важливих функцій обробки зображень, таких як зміна розміру зображень, збільшення зображення, кадрування зображення, включаючи підтримку інтелектуального обрізання, перевертання або обертання зображень, створення ескізів зображень, підтримка масштабування зображень, додавання водяних знаків і ефекту розмиття за Гаусом, вилучення певних область із зображення, обрізати зображення, конвертувати зображення в інші формати та багато іншого.
Початок роботи з bimg
Найпростіший і рекомендований спосіб встановлення bimg — через GitHub.
Установіть bimg через GitHub
go get -u gopkg.in/h2non/bimg.v1
Перетворення зображення в інші формати через Go
Бібліотека bimg з відкритим кодом дозволяє розробникам програмного забезпечення програмно перетворювати зображення в інші підтримувані формати файлів за допомогою лише кількох рядків коду Go. Припустімо, у вас є файл у форматі JPEG і ви хочете перетворити його на PNG. Вам потрібно надати інформацію про зображення, як-от назву зображення, адресу та формат перетворення. Зображення буде легко перетворено в запропонований формат.
конвертер JPG Зображення на NG через Go Бібліотека
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. Вам також потрібно вказати ширину та висоту нового зображення та розташування. Він також підтримує примусові операції зміни розміру без збереження співвідношення сторін. Ви також можете додати текст і виділити з зображення вибрану область. Кадрування обрізає зображення до точно вказаного розміру.
Розмір зображення за допомогою бібліотеки 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, якщо вони доступні. Він також забезпечує підтримку перевернутих зображень, інтерпретації зображень, довжини зображення, метаданих зображення та багато іншого.
обертати зображення всередині 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)