Mergi
GO API pentru manipularea avansată a imaginii
Bibliotecă Open Source Go pentru a îmbina, decupa și redimensiona imaginile în mod programatic. Puteți adăuga filigrane și animații imaginilor din propriile aplicații.
Mergi este o bibliotecă go puternică care oferă capacitatea de a procesa imagini în mod programatic folosind limbajul GO. Biblioteca este bine organizată și poate fi integrată cu ușurință pentru a efectua numeroase operații cu doar câteva linii de cod Go. Biblioteca este disponibilă gratuit sub licența MIT și poate fi utilizată cu ușurință în cadrul proiectelor dvs.
Biblioteca Mergi open source a inclus suport complet pentru mai multe funcții importante de procesare a imaginilor, cum ar fi îmbinarea imaginilor, suport pentru decuparea imaginilor, redimensionarea imaginilor, adăugarea de filigrane la imaginile dvs., facilitate de animație a imaginilor, facilitarea imaginilor, adăugarea de tranziție la imagini și multe altele.
Noțiuni introductive cu Mergi
Cel mai simplu mod de a instala Mergi este prin GitHub. Vă rugăm să utilizați următoarea comandă pentru o instalare fără probleme
Instalați Mergi prin GitHub.
$ go get github.com/noelyahan/mergi
Animați imagini prin Go API
Biblioteca Mergi cu sursă deschisă oferă dezvoltatorilor de software puterea de a anima orice rezultat de matrice de imagini în cadrul propriilor aplicații GO. Trebuie să furnizați calea corectă a imaginii sau adresa URL a căii fișierului. Apoi trebuie să treceți imaginile într-o matrice și să aplicați întârziere în funcție de nevoile dvs. În cele din urmă, puteți exporta rezultatul final printr-un exportator de animație pentru a obține fișierul GIF rezultat.
Cum de a anima imagini prin 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
}
Decuparea imaginii prin Go API
O imagine perfectă poate spune câte o mie de cuvinte. Decuparea imaginii este eliminarea unei zone nedorite a unei imagini pentru a crea o focalizare sau pentru a consolida imaginea. Biblioteca Mergi permite programatorilor de software să-și decupeze imaginile în propriile aplicații Go. Dezvoltatorul trebuie să furnizeze lățimea și înălțimea personalizate ale imaginii și locației necesare.
Sursă foto: 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
}
Adăugarea filigranelor la imagini
Biblioteca Mergi gratuită oferă programatorilor de software capacitatea de a introduce cu ușurință filigrane în imagini în interiorul aplicațiilor Go. Folosind caracteristica Watermarking, putem proteja noastre imaginile cu ușurință de crearea și distribuirea de copii neautorizate. Biblioteca acceptă plasarea unui logo, precum și a filigranelor de text folosind câteva rânduri de cod Go. Filigranele pot fi plasate în orice poziție selectată la alegere, precum și cu opacitatea dorită.
Adăugați Watermark la imagine prin 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"))
Suport pentru îmbinarea imaginilor
Biblioteca Mergi facilitează dezvoltatorilor să combine mai multe imagini într-o singură imagine în funcție de nevoile lor folosind comenzile de programare Go. Biblioteca acceptă îmbinarea mai multor imagini în funcție de șabloane date. Acceptă facilități de fuziune orizontală și de îmbinare verticală. Pentru a combina două imagini, trebuie să furnizați o cale a imaginii sau o adresă URL corectă și, după aceea, puteți selecta un șablon pentru a îmbina imaginile pe orizontală sau pe verticală.
Sursă foto: 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"))