内容简介:原图:裁剪后:
package main import ( "bytes" "fmt" "github.com/disintegration/imaging" "github.com/george518/PPGo_ClipImg/coreImg" "image" "io/ioutil" "log" "os" "strings" "testing" ) //判断目录是否存在 func IsDir(name string) bool { fi, err := os.Stat(name) if err != nil { fmt.Println("Error: ", err) return false } return fi.IsDir() } //创建多级目录 func CreateDir(name string) bool { if IsDir(name) { return true } if createDirImpl(name) { return true } else { return false } } func createDirImpl(name string) bool { err := os.MkdirAll(name, 0777) if err == nil { return true } else { return false } } func MakeDir(file string) string { path := strings.Split(file, "/") var newFilePath = "" for k, p := range path { if k != len(path)-1 { newFilePath += p + "/" } } newFilePath += "CoreImages/" CreateDir(newFilePath) return newFilePath + path[len(path)-1] } func TestImage(t *testing.T) { path:="example/images/bags.jpg" //打开图片 file, err := ioutil.ReadFile(path) if err != nil { log.Fatal(err) } bt := bytes.NewBuffer(file) m, _, err := image.Decode(bt) if err != nil { log.Fatal(err) } //截取核心图片 x0, x1, y0, y1 := coreImg.CoreImg(m) //截取图片 corePic := imaging.Crop(m, image.Rect(x0, y0, x1, y1)) //创建地址和文件名,并保存图片 newPath := MakeDir(path) err = imaging.Save(corePic, newPath) if err != nil { log.Fatal(err) } }
原图:
image.png
裁剪后:
image.png
以上所述就是小编给大家介绍的《golang 获取纯色底图中的核心图》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 【Verge3D问答】使用HDRI的同时使用纯色背景
- ADO.NET获取数据(DataSet)同时获取表的架构实例
- 根据 PID 获取 K8S Pod名称 - 反之 POD名称 获取 PID
- .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
- phpinfo获取敏感内容
- 低开销获取时间戳
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。