要给圆形图片加边框,可以使用github.com/disintegration/imaging库的最新版本。下面是一个使用示例:

package main

import (
	"image"
	"image/color"
	"log"

	"github.com/disintegration/imaging"
)

func main() {
	// 加载原始图片
	src, err := imaging.Open("input.png")
	if err != nil {
		log.Fatal(err)
	}

	// 将原始图片裁剪为正方形
	size := src.Bounds().Size()
	if size.X > size.Y {
		src = imaging.CropCenter(src, size.Y, size.Y)
	} else if size.X < size.Y {
		src = imaging.CropCenter(src, size.X, size.X)
	}

	// 将正方形图片调整为指定尺寸
	dstSize := 300
	src = imaging.Resize(src, dstSize, dstSize, imaging.Lanczos)

	// 创建一个带有边框的圆形图片
	borderSize := 10
	borderColor := color.RGBA{255, 0, 0, 255} // 红色边框
	dst := imaging.New(dstSize+2*borderSize, dstSize+2*borderSize, borderColor)
	dst = imaging.Circle(dst, dstSize/2+borderSize, borderColor)
	dst = imaging.Paste(dst, src, image.Pt(borderSize, borderSize))

	// 保存结果图片
	err = imaging.Save(dst, "output.png")
	if err != nil {
		log.Fatal(err)
	}
}

在这个示例中,我们首先加载原始图片,然后将其裁剪为正方形。然后,我们将正方形图片调整为指定的尺寸。接下来,我们创建一个带有边框的圆形图片,使用指定的边框颜色和尺寸。最后,我们将调整后的图片粘贴到带有边框的圆形图片上,并保存结果图片。

确保在运行代码之前,你已经安装了github.com/disintegration/imaging库。你可以使用以下命令进行安装:

go get -u github.com/disintegration/imaging
``
使用最新版githubcomdisintegrationimaging库给圆形图片加边框

原文地址: https://www.cveoy.top/t/topic/infe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录