Mergi
GO API за разширена манипулация на изображения
Go библиотека с отворен код за програмно обединяване, изрязване и преоразмеряване на изображения. Можете да добавяте водни знаци и анимация към изображения във вашите собствени приложения.
Mergi е мощна go библиотека, която предоставя възможност за програмна обработка на изображения с помощта на езика GO. Библиотеката е добре организирана и може лесно да се интегрира за извършване на множество операции само с няколко реда Go код. Библиотеката е свободно достъпна под лиценза на MIT и може да се използва във вашите проекти с лекота.
Библиотеката 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 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"))