Mergi
GO API для розширеної обробки зображень
Бібліотека Go з відкритим кодом для програмного об’єднання, обрізання та зміни розміру зображень. Ви можете додавати водяні знаки та анімацію до зображень у своїх програмах.
Mergi — це потужна бібліотека go, яка надає можливість програмно обробляти зображення за допомогою мови GO. Бібліотека добре організована та може бути легко інтегрована для виконання численних операцій лише за допомогою кількох рядків коду Go. Бібліотека є у вільному доступі за ліцензією Массачусетського технологічного інституту та може легко використовуватися у ваших проектах.
Бібліотека Mergi з відкритим кодом включає повну підтримку кількох важливих функцій обробки зображень, таких як об’єднання зображень, підтримка кадрування зображень, зміна розміру зображень, додавання водяних знаків до ваших зображень, можливість анімації зображень, полегшення зображень, додавання переходів до зображень та багато іншого.
Початок роботи з Mergi
Найпростіший спосіб інсталювати Mergi — за допомогою GitHub. Будь ласка, використовуйте наступну команду для плавного встановлення
Встановіть Mergi через GitHub.
$ go get github.com/noelyahan/mergi
Анімуйте зображення за допомогою Go API
Бібліотека Mergi з відкритим вихідним кодом дає розробникам програмного забезпечення можливість анімувати будь-який отриманий масив зображень у своїх власних програмах GO. Потрібно вказати правильний шлях до зображення або URL-адресу шляху до файлу. Потім вам потрібно передати зображення в масив і застосувати затримку відповідно до ваших потреб. Зрештою, ви можете експортувати кінцевий результат за допомогою експортера анімації, щоб отримати кінцевий файл GIF.
Як анімовані зображення через 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
}
Кадрування зображення через Go API
Ідеальне зображення може сказати тисячу слів. Кадрування зображення — це видалення небажаної ділянки зображення для створення фокусу або посилення зображення. Бібліотека Mergi дозволяє програмістам обрізати свої зображення у власних програмах Go. Розробник повинен надати необхідну ширину та висоту необхідного зображення та розташування.
Crop Зображення через 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
}
Додавання водяних знаків до зображень
Безкоштовна бібліотека Mergi дає програмістам можливість програмно вставляти водяні знаки до зображень у своїх програмах Go з легкістю. Використовуючи функцію водяних знаків, ми можемо легко захистити наші зображення від неавторизованого створення та розповсюдження копій. Бібліотека підтримує розміщення логотипу, а також текстових водяних знаків за допомогою кількох рядків коду Go. Водяні знаки можна розміщувати в будь-якій вибраній позиції на ваш вибір, а також з непрозорістю на ваш вибір.
Додати водяний знак на зображення через 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"))
Підтримка злиття зображень
Бібліотека Mergi полегшує розробникам об’єднання кількох зображень в одне зображення відповідно до їхніх потреб за допомогою команд програмування Go. Бібліотека підтримує об’єднання кількох зображень відповідно до заданих шаблонів. Він підтримує засоби горизонтального та вертикального злиття. Щоб об’єднати два зображення, вам потрібно вказати шлях зображення або правильну URL-адресу, а потім вибрати шаблон для об’єднання зображень по горизонталі або вертикалі.
Зображень через 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"))