Mergi
GO API for avansert bildemanipulering
Open Source Go-bibliotek for å programmatisk slå sammen, beskjære og endre størrelse på bilder. Du kan legge til vannmerker og animasjoner til bilder i dine egne apper.
Mergi er et kraftig go-bibliotek som gir muligheten til å behandle bilder programmatisk ved hjelp av GO-språket. Biblioteket er godt organisert og kan enkelt integreres for å utføre en rekke operasjoner med bare et par linjer med Go-kode. Biblioteket er fritt tilgjengelig under MIT-lisensen og kan enkelt brukes i prosjektene dine.
Mergi-biblioteket med åpen kildekode har inkludert fullstendig støtte for flere viktige bildebehandlingsfunksjoner som å slå sammen bilder, støtte for bildebeskjæring, endre størrelse på bilder, legge til vannmerker til bildene dine, bildeanimasjonsfunksjon, lette bilder, legge til overganger til bilder og mange flere.
Komme i gang med Mergi
Den enkleste måten å installere Mergi på er å bruke via GitHub. Bruk følgende kommando for en jevn installasjon
Installer Mergi via GitHub.
$ go get github.com/noelyahan/mergi
Animer bilder via Go API
Mergi-biblioteket med åpen kildekode gir programvareutviklere muligheten til å animere et gitt bildeserieresultat i sine egne GO-applikasjoner. Du må oppgi den riktige banen til bildet eller URL-en til filbanen. Deretter må du sende bildene til en matrise og bruke forsinkelse i henhold til ditt behov. Til slutt kan du eksportere det endelige resultatet via en animasjonseksportør for å få den resulterende GIF-filen.
Hvordan animere bilder via 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
}
Bildebeskjæring via Go API
Et perfekt bilde kan si mer enn tusen ord. Bildebeskjæring er fjerning av et uønsket område av et bilde for å skape fokus eller styrke bildet. Mergi-biblioteket gjør det mulig for programvareprogrammerere å beskjære bildene sine i sine egne Go-applikasjoner. Utvikleren må oppgi den tilpassede bredden og høyden på det nødvendige bildet og stedet.
Beskjær bilde via 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
}
Vannmerker tillegg til bilder
Det gratis Mergi-biblioteket gir programvareprogrammerere muligheten til å sette inn vannmerker i bilder i Go-applikasjonene sine med letthet. Ved å bruke vannmerkefunksjonen kan vi enkelt beskytte våre bildene mot uautorisert kopiering og distribusjon. Biblioteket støtter plassering av en logo samt tekstvannmerker ved å bruke et par linjer med Go-kode. Vannmerkene kan plasseres på en hvilken som helst posisjon du ønsker, så vel som med opasiteten du ønsker.
Legg til vannmerker til bilde via 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"))
Støtte for bildesammenslåing
Mergi-biblioteket gjør det lettere for utviklere å kombinere flere bilder til ett enkelt bilde i henhold til deres behov ved å bruke Go-programmeringskommandoer. Biblioteket støtter sammenslåing av flere bilder i henhold til gitte maler. Den støtter horisontale og vertikale sammenslåingsfasiliteter. For å kombinere to bilder må du oppgi en bildebane eller riktig URL, og deretter kan du velge en mal for å slå sammen bildene horisontalt eller vertikalt.
Slå sammen bilder via 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"))