Material Design Avatar——一个自动生成 Material Design 风格头像的 PHP 类

2015-04-30 16:00:08 +08:00
 lincanbin

GitHub地址: https://github.com/lincanbin/Material-Design-Avatars

在线演示地址: http://www.94cb.com/Material-Design-Avatars/

已应用Material Design Avatar的一个开源论坛项目的地址: http://www.94cb.com/

新用户头像一个是个麻烦事,Gravatar也算一个解决方案,但是我个人觉得太丑。

正好觉得Android上的Gmail和Messager的生成的头像挺不错的,就自己写了一个生成这种头像的Class,字体用的Adobe的两个开源字体,色彩参考Android官方关于Material Design的文档。

7227 次点击
所在节点    分享创造
20 条回复
lincanbin
2015-04-30 16:01:38 +08:00
如果觉得中文字体包太大,可以直接删除掉,这样的话,就会自动取中文首字母生成头像。
xiaogui
2015-04-30 16:10:35 +08:00
看着不错,哈哈,赞下
Septembers
2015-04-30 16:28:38 +08:00
唯一值得吐槽的是 代码风格
lincanbin
2015-04-30 16:31:36 +08:00
@Septembers 将近十年前VB还很火那会儿留下的习惯,多人协作项目时我也会主动配合团队风格。
个人项目就我怎么看得爽就怎么写。
总之类是一个黑盒,你不要看里面的代码就是了!
lincanbin
2015-04-30 16:36:30 +08:00
http://www.94cb.com/t/2488

这是放到实际项目中的效果图。
Gravatar虽说可以做到独一无二,可是真的并不好看,然而这样的独一无二在很多时候并没有什么卵用。
还是好看比较重要。
所以一开始让我用Gravatar,其实我是拒绝的。
Septembers
2015-04-30 16:39:04 +08:00
@lincanbin 前端应该可以制作出这个效果只是字体跟随浏览器可能会有点不好看
lincanbin
2015-04-30 16:43:23 +08:00
@Septembers 前端当然可以,我以前做过,做起来非常方便,一个容器放个字进去设置background,然后border-radius:50%就行了。
背景颜色的调色板索引可以用用户名的hash来做前端储存。
只是这样做起来并不合适,还得判断用户是否上传头像。
如果不打算让用户上传头像就可以这样做。
kokdemo
2015-04-30 16:43:35 +08:00
@Septembers 可以用webfont解决的……不是啥问题
AlisterTT
2015-04-30 17:07:11 +08:00
为什么我输入0的时候出来的是随机文字,是不是姿势不对...
lincanbin
2015-04-30 17:12:54 +08:00
@AlisterTT 我demo的判断是直接拿输入判断,然后if(0)等于没有输入,我改一下。
jamesxu
2015-04-30 17:19:35 +08:00
哪里能看出是 Material Design 风格。。。
就颜色?
lincanbin
2015-04-30 17:27:49 +08:00
@jamesxu Material Design中关于Avatar的定义是比较宽松的,我是照着Google Messager & Gmail 做的,也遵循了相关规范,这么说也是没错的。

Avatars and thumbnails

Avatars and thumbnails represent entities or content, either literally through photography or conceptually through illustration. Generally, they are tap targets that lead to a primary view of the entity or content.

Avatars can be used to represent people. For personal avatars, offer personalization options. As users may choose not to personalize an avatar, provide delightful defaults. When used with a specific logo, avatars can also be used to represent brand.

Thumbnails allude to more information—letting the user peek into content—and assist navigation. Thumbnails let you include imagery in tight spaces.
holystrike
2015-04-30 18:24:12 +08:00
不错
做成composer包吧
lincanbin
2015-04-30 21:02:06 +08:00
breeswish
2015-04-30 21:37:11 +08:00
同 @jamesxu 看不出 material design
lincanbin
2015-04-30 21:46:08 +08:00
Yien
2015-04-30 22:51:08 +08:00
感謝
RihcardLu
2015-05-12 12:09:27 +08:00
太棒了,刚刚正想找呢。
RihcardLu
2015-05-12 12:16:43 +08:00
好像不能自定义颜色?
lincanbin
2015-05-12 12:21:58 +08:00
@RihcardLu Material Design有指定了能使用的颜色,因此只能使用指定的颜色,每次都会随机抽取颜色。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/187546

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX