Mergi
API GO per la manipolazione avanzata delle immagini
Libreria Open Source Go per unire, ritagliare e ridimensionare le immagini in modo programmatico. Puoi aggiungere filigrane e animazioni alle immagini all'interno delle tue app.
Mergi è una potente libreria go che fornisce la capacità di elaborare le immagini a livello di codice utilizzando il linguaggio GO. La libreria è ben organizzata e può essere facilmente integrata per eseguire numerose operazioni con solo un paio di righe di codice Go. La libreria è disponibile gratuitamente con licenza MIT e può essere utilizzata facilmente all'interno dei tuoi progetti.
La libreria Mergi open source include il supporto completo per diverse importanti funzionalità di elaborazione delle immagini come l'unione di immagini, il supporto per il ritaglio delle immagini, il ridimensionamento delle immagini, l'aggiunta di filigrane alle immagini, la funzione di animazione delle immagini, l'allentamento delle immagini, l'aggiunta di transizione alle immagini e molto altro.
Iniziare con Mergi
Il modo più semplice per installare Mergi è utilizzare tramite GitHub. Si prega di utilizzare il comando seguente per un'installazione senza problemi
Installa Mergi tramite GitHub.
$ go get github.com/noelyahan/mergi
Anima le immagini tramite l'API Go
La libreria Mergi open source offre agli sviluppatori di software il potere di animare qualsiasi risultato di array di immagini all'interno delle proprie applicazioni GO. È necessario fornire il percorso corretto dell'immagine o l'URL del percorso del file. Quindi devi passare le immagini a un array e applicare il ritardo in base alle tue esigenze. Alla fine, puoi esportare il risultato finale tramite un esportatore di animazioni per ottenere il file GIF risultante.
Come Animare le immagini 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
}
Ritaglio delle immagini tramite l'API Go
Una immagine perfetta può parlare più di mille parole. Il ritaglio dell'immagine è la rimozione di un'area indesiderata di un'immagine per creare una messa a fuoco o rafforzare l'immagine. La libreria Mergi consente ai programmatori di software di ritagliare le proprie immagini all'interno delle proprie applicazioni Go. Lo sviluppatore deve fornire la larghezza e l'altezza personalizzate dell'immagine e della posizione richieste.
Ritaglia immagine 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
}
Aggiunta di filigrane alle immagini
La libreria Mergi gratuita offre ai programmatori di software la possibilità di inserire facilmente filigrane a livello di codice nelle immagini all'interno delle loro applicazioni Go. Utilizzando la funzione di filigrana possiamo facilmente proteggere le nostre immagini dalla creazione e distribuzione di copie non autorizzate. La libreria supporta il posizionamento di un logo e filigrane di testo utilizzando un paio di righe di codice Go. Le filigrane possono essere posizionate in qualsiasi posizione selezionata di tua scelta e con l'opacità di tua scelta.
Aggiungi Watermark a Immagine 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"))
Supporto per la fusione delle immagini
La libreria Mergi consente agli sviluppatori di combinare più immagini in un'unica immagine in base alle proprie esigenze utilizzando i comandi di programmazione Go. La libreria supporta l'unione di più immagini in base a determinati modelli. Supporta le strutture di fusione orizzontale e verticale. Per combinare due immagini è necessario fornire un percorso dell'immagine o un URL corretto e, successivamente, è possibile selezionare un modello per unire le immagini orizzontalmente o verticalmente.
Merge Immagini 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"))