![](https://products-qa.fileformat.com/cs/image/go/mergi/header-image.png)
Mergi
GO API pro pokročilou manipulaci s obrázky
Open Source Go knihovna pro programové sloučení, oříznutí a změnu velikosti obrázků. K obrázkům ve vlastních aplikacích můžete přidávat vodoznaky a animace.
Mergi je výkonná knihovna go, která poskytuje možnost programově zpracovávat obrázky pomocí jazyka GO. Knihovna je dobře organizovaná a lze ji snadno integrovat pro provádění mnoha operací pomocí pouhých několika řádků kódu Go. Knihovna je volně dostupná pod licencí MIT a lze ji snadno používat ve vašich projektech.
Open source knihovna Mergi obsahuje kompletní podporu pro několik důležitých funkcí pro zpracování obrázků, jako je slučování obrázků, podpora ořezávání obrázků, změna velikosti obrázků, přidávání vodoznaků do obrázků, zařízení pro animaci obrázků, usnadnění obrázků, přidávání přechodů do obrázků a mnoho dalších.
Začínáme s Mergi
Nejjednodušší způsob instalace Mergi je pomocí GitHubu. Pro bezproblémovou instalaci použijte prosím následující příkaz
Nainstalujte Mergi přes GitHub.
$ go get github.com/noelyahan/mergi
Animujte obrázky přes Go API
Knihovna Mergi s otevřeným zdrojovým kódem dává softwarovým vývojářům možnost animovat jakýkoli daný výsledek obrazového pole uvnitř jejich vlastních aplikací GO. Musíte zadat správnou cestu k obrázku nebo adresu URL cesty k souboru. Poté musíte předat obrázky do pole a použít zpoždění podle vašich potřeb. Nakonec můžete exportovat konečný výsledek pomocí exportéru animací a získat výsledný soubor GIF.
Jak animované obrázky přes 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
}
Oříznutí obrázku přes Go API
Dokonalý obrázek dokáže říct tisíc slov. Oříznutí obrázku je odstranění nežádoucí oblasti obrázku za účelem vytvoření ohniska nebo posílení obrázku. Knihovna Mergi umožňuje softwarovým programátorům ořezávat obrázky ve vlastních aplikacích Go. Vývojář musí poskytnout vlastní šířku a výšku požadovaného obrázku a umístění.
Crop Image přes 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
}
Doplnění vodoznaků do obrázků
Bezplatná knihovna Mergi dává softwarovým programátorům možnost snadno programově vkládat vodoznaky do obrázků v aplikacích Go. Pomocí funkce Watermarking můžeme snadno chránit naše obrázky před neoprávněným vytvářením a distribucí kopií. Knihovna podporuje umístění loga i textových vodoznaků pomocí několika řádků kódu Go. Vodoznaky lze umístit na libovolnou zvolenou pozici, stejně jako s neprůhledností dle vašeho výběru.
Přidejte vodoznak do obrázku přes 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"))
Podpora slučování obrázků
Knihovna Mergi umožňuje vývojářům kombinovat více obrázků do jednoho obrázku podle jejich potřeb pomocí programovacích příkazů Go. Knihovna podporuje slučování více obrázků podle daných šablon. Podporuje zařízení pro horizontální slučování a vertikální slučování. Chcete-li spojit dva obrázky, musíte zadat cestu obrázku nebo správnou adresu URL a poté můžete vybrat šablonu pro sloučení obrázků vodorovně nebo svisle.
Sloučit obrázky přes 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"))