Golang Go语言实现的首字母头像服务/库
repo: https://github.com/holys/initials-avatar
既可以当库来使用,也可以当作 HTTP 服务来跑。
欢迎吐槽 :)
Golang Go语言实现的首字母头像服务/库
默默点了下 star 应该不是手抖
更多关于Golang Go语言实现的首字母头像服务/库的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
thx :)
第一百位小伙伴 !
是的。 会轻量些。 但是如果希望各个端统一方案, 偏服务端的方案会合适些,不然 iOS , Android , web 前端都得自己实现一套?
也不错
已 star 。中文的字体库有点大。。能不能只用英文不用的中文的?
我有个类似的,但是很久以前用 PHP 做的,直接服务端生成头像文件,还切圆了。
https://github.com/lincanbin/Material-Design-Avatars
切圆了这活交给 css 做不是更好么?
追求一致性,如果前端要切圆, Android 客户端也要切圆, iOS 端也要切,为何不在服务器端生成时做好呢?
一次生成,就节省了用户不少渲染时间。
有道理。 不过切圆这事儿,应该作为参数可选,不应强制
用了好久 gogs ,感谢!
请问能切 滚刀片 吗?
赞赞
PR please
赞
推荐一下我用 go 写的小玩意图像处理工具库 imgo: http://github.com/Comdex/imgo
cool
浓浓的 safari 感。。
怎解?
哈哈哈
这是什么打码工具? 很好看啊
photoshop …
我就问下
font-size = 75.0
然后 y := 10 + int(math.Ceil(g.fontSize*g.dpi/72))
fontsize 设置为 75, 在 golang 中, font-size 75.0 是? px/pt ?
然后算 y 的, 也没看懂~
这里计算有问题的,目前内置 server 使用尺寸 120 ,看起来不太明显,用 500 的图就很明显没居中。
需要获取这个字在对应字体文件中的 Glyph 信息计算才能得到 y ,正在写 pr
递交了一个 pr ,最近刚做过类似的东西,刚好有垂直居中的经验。
建议字体大小最好根据图片 size 动态调整(固定一个比例,在圆形的时候刚好落在圆内就行)
这个建议好, 其实我之前也在代码里面写了 auto resize 的 TODO ,也建了 issue 。 关于图片处理的知识,还要多多向你请教!
字体可以自己指定
我的意思是不要字体。。莫非英文也必须带上这个字体库?
个人认为是必须要字体库的,虽然不一定是这个字体,可以是其他的字体。 可以参考这个 example 。 https://github.com/golang/freetype/blob/master/example/drawer/main.go#L83
贵山员工抱团取暖的 star… 是在下输了
广东的夏天又一次击败了冬天, 不需要取暖呢 :)
了解了。。多谢
撸了一个 Python 版: https://github.com/Brightcells/initials-avatar
在Golang中实现一个首字母头像服务或库是一个既有趣又实用的项目。这样的服务通常用于快速生成基于用户名字首字母的个性化头像,广泛应用于社交应用、论坛、博客等平台。以下是一些关键点,帮助你理解和实现这一功能:
-
字符图像化:首先,你需要将用户名字的首字母转换成图像。这通常涉及字体渲染,可以使用Go的绘图库如
github.com/fogleman/gg
或golang.org/x/image/font
来渲染文本为图像。 -
颜色与样式:为了让头像更具辨识度,可以根据字母或用户的其他信息(如性别、ID等)生成不同的颜色或添加样式元素,如渐变、阴影等。
-
缓存与性能:为了提高服务效率,实现缓存机制(如内存缓存或Redis)来存储已生成的头像,避免重复计算。
-
API设计:设计一个RESTful API接口,允许用户通过HTTP请求获取首字母头像。可以使用Go的web框架如
gin-gonic/gin
来简化API开发。 -
安全与可扩展性:确保API的安全,比如通过身份验证和授权机制限制访问。同时,设计时应考虑未来可能的扩展需求,如支持更多字符集、自定义颜色等。
-
文档与示例:提供清晰的文档和示例代码,帮助其他开发者理解和使用你的服务或库。
实现这样一个服务不仅能提升你的Go语言技能,还能为社区提供有价值的工具。祝你项目顺利!