百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
S

smartcrop

> 编程语言
开源

smartcrop 可为任意裁剪大小找到合适的图像裁剪区域

1.9K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

smartcrop 可为任意裁剪大小找到合适的图像裁剪区域

smartcrop

smartcrop 可以为任意大小的图像找到合适的裁剪区域。它是一个纯 Go 实现,基于 Jonas Wagner 的 smartcrop.js。

图像: https://www.flickr.com/photos/usfwspacific/8182486789 由美国魚类和野生动物部提供,最初在 2014 年 9 月导入时采用 CC-BY-2.0 许可证。

git clone https://github.com/muesli/smartcrop.git cd smartcrop 去构建

示例

go
package main

import (
	"fmt"
	"image"
	_ "image/png"
	"os"

	"github.com/muesli/smartcrop"
	"github.com/muesli/smartcrop/nfnt"
)

func main() {
	f, _ := os.Open("image.png")
	img, _, _ := image.Decode(f)

	analyzer := smartcrop.NewAnalyzer(nfnt.NewDefaultResizer())
	topCrop, _ := analyzer.FindBestCrop(img, 250, 250)

	// The crop will have the requested aspect ratio, but you need to copy/scale it yourself
	fmt.Printf("Top crop: %+v\n", topCrop)

	type SubImager interface {
		SubImage(r image.Rectangle) image.Image
	}
	croppedimg := img.(SubImager).SubImage(topCrop)
	// ...
}

还可以查看 smartcrop_test.go 中的测试用例以及 cmd/smartcrop/ 中的 CLI 应用程序,以获得更多工作示例。

简单的 CLI 应用程序

前往安装 GitHub.com/muesli/smartcrop/cmd/smartcrop smartcrop 的使用: -height int 作物高度 -输入字符串 输入文件名 -输出字符串 输出文件名 -质量 int jpeg 画质 (默认为 85) -resize 裁剪后重新调整大小 (默认为 true) -width int 裁剪宽度 示例: smartcrop

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Gohacktoberfest

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言