Mergi
API GO para manipulação avançada de imagens
Biblioteca Open Source Go para mesclar, cortar e redimensionar imagens de forma programática. Você pode adicionar marcas d'água e animação a imagens dentro de seus próprios aplicativos.
Mergi é uma poderosa biblioteca go que fornece a capacidade de processar imagens programaticamente usando a linguagem GO. A biblioteca é bem organizada e pode ser facilmente integrada para realizar várias operações com apenas algumas linhas de código Go. A biblioteca está disponível gratuitamente sob a licença do MIT e pode ser usada dentro de seus projetos com facilidade.
A biblioteca Mergi de código aberto inclui suporte completo para vários recursos importantes de processamento de imagens, como mesclagem de imagens, suporte a corte de imagens, redimensionamento de imagens, adição de marcas d'água às suas imagens, facilidade de animação de imagens, facilitação de imagens, adição de transição a imagens e muito mais.
Introdução ao Mergi
A maneira mais fácil de instalar o Mergi é usando o GitHub. Por favor, use o seguinte comando para uma instalação suave
Instale o Mergi através do GitHub.
$ go get github.com/noelyahan/mergi
Animar imagens por meio da API Go
A biblioteca Mergi de código aberto oferece aos desenvolvedores de software o poder de animar qualquer resultado de matriz de imagens dentro de seus próprios aplicativos GO. Você precisa fornecer o caminho correto da imagem ou URL do caminho do arquivo. Então você precisa passar as Imagens para um array e aplicar delay de acordo com sua necessidade. No final, você pode exportar o resultado final por meio de um exportador de animação para obter o arquivo GIF resultante.
Como imagens animadas 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
}
Corte de imagem via API Go
Uma imagem perfeita pode falar mais que mil palavras. O recorte de imagem é a remoção de uma área indesejada de uma imagem para criar um foco ou fortalecer a imagem. A biblioteca Mergi permite que programadores de software cortem suas imagens dentro de seus próprios aplicativos Go. O desenvolvedor precisa fornecer a largura e a altura personalizadas da imagem e do local necessários.
Cortar imagem 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
}
Adição de marcas d'água a imagens
A biblioteca Mergi gratuita oferece aos programadores de software a capacidade de inserir marcas d'água programaticamente em imagens dentro de seus aplicativos Go com facilidade. Ao usar o recurso de Marca d'água, podemos facilmente proteger nossas imagens da criação e distribuição de cópias não autorizadas. A biblioteca suporta a colocação de um logotipo e marcas d'água de texto usando algumas linhas de código Go. As marcas d'água podem ser colocadas em qualquer posição selecionada de sua escolha, bem como com a opacidade de sua escolha.
Adicionar Watermark para Imagem 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"))
Suporte para mesclagem de imagens
A biblioteca Mergi facilita os desenvolvedores a combinar várias imagens em uma única imagem de acordo com suas necessidades usando comandos de programação Go. A biblioteca suporta a mesclagem de várias imagens de acordo com os modelos fornecidos. Ele suporta instalações de mesclagem horizontal e vertical. Para combinar duas imagens você precisa fornecer um caminho de imagem ou URL correto e depois disso, você pode selecionar um modelo para mesclar as imagens horizontalmente ou verticalmente.
Merge Imagens 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"))