1. 产品
  2.   图片
  3.   GO
  4.   Mergi  

Mergi  

 
 

用于高级图像处理的 GO API

开源 Go 库以编程方式合并、裁剪和调整图像大小。您可以在自己的应用程序中为图像添加水印和动画。

Mergi 是一个强大的 go 库,它提供了使用 GO 语言以编程方式处理图像的能力。该库组织良好,只需几行 Go 代码即可轻松集成以执行大量操作。该库在 MIT 许可下免费提供,可以在您的项目中轻松使用。

开源 Mergi 库包含对几个重要图像处理功能的完整支持,例如合并图像、图像裁剪支持、调整图像大小、为图像添加水印、图像动画工具、缓动图像、添加图像过渡等等。

Previous Next

开始使用 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"))
 中国人