![](https://products-qa.fileformat.com/ru/image/go/mergi/header-image.png)
Mergi
GO API для расширенного управления изображениями
Библиотека Go с открытым исходным кодом для программного объединения, обрезки и изменения размера изображений. Вы можете добавлять водяные знаки и анимацию к изображениям внутри ваших собственных приложений.
Mergi — это мощная библиотека go, которая предоставляет возможность программной обработки изображений с использованием языка GO. Библиотека хорошо организована и может быть легко интегрирована для выполнения многочисленных операций с помощью всего пары строк кода Go. Библиотека находится в свободном доступе по лицензии MIT и может быть легко использована в ваших проектах.
Библиотека 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 Image через 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"))