Mergi
用于高级图像处理的 GO API
开源 Go 库以编程方式合并、裁剪和调整图像大小。您可以在自己的应用程序中为图像添加水印和动画。
开始使用 Mergi
安装 Mergi 的最简单方法是通过 GitHub 使用。请使用以下命令顺利安装
通过 GitHub 安装 Mergi。
$ go get github.com/noelyahan/mergi
通过 Go API 动画图像
开源 Mergi 库使软件开发人员能够在他们自己的 GO 应用程序中对任何给定的图像阵列结果进行动画处理。您需要提供正确的图像路径或文件路径的 URL。然后,您需要将图像传递给数组并根据需要应用延迟。最后,您可以通过动画导出器导出最终结果以获取生成的 GIF 文件。
如何通过八十年代估计图像
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
}
通过 Go API 进行图像裁剪
一张完美的图片可以说一千个字。图像裁剪是去除图像中不需要的区域以创建焦点或增强图像。 Mergi 库使软件程序员能够在自己的 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
}
水印添加到图像
免费的 Mergi 库使软件程序员能够以编程方式轻松地将水印插入到 Go 应用程序中的图像中。通过使用水印功能,我们可以轻松地保护 我们的 图像免受未经授权的复制创建和分发。该库支持使用几行 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"))
图像合并支持
Mergi 库便于开发人员使用 Go 编程命令根据需要将多个图像组合成一个图像。该库支持根据给定的模板合并多个图像。它支持水平合并和垂直合并设施。要合并两个图像,您需要提供图像路径或正确的 URL,然后,您可以选择一个模板以水平或垂直合并图像。
通过走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"))