1. Produkter
  2.   Bilde
  3.   GO
  4.   Mergi  

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.

Previous Next

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"))
 Norsk