V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hvboekml
V2EX  ›  分享创造

GitHub 风格随机头像 API

  •  3
     
  •   hvboekml ·
    hamibot · 2020-10-16 09:40:30 +08:00 · 7754 次点击
    这是一个创建于 1281 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2020-10-16 10:14:01 +08:00
    主要是面向开发者,普通用户应该用不上。😁
    32 条回复    2020-10-17 10:27:06 +08:00
    s609926202
        1
    s609926202  
       2020-10-16 09:45:15 +08:00   ❤️ 1
    很少有网站支持设置链接头像吧
    aabbcc112233
        2
    aabbcc112233  
       2020-10-16 09:51:46 +08:00   ❤️ 4
    很好,唯一的问题就是怕你的服务哪天突然停了。考虑开源算了。
    hvboekml
        3
    hvboekml  
    OP
       2020-10-16 09:52:32 +08:00
    hi, v 友
    源于最近在做个网站,有个头像似乎有趣一些,只仿照 GitHub 风格,随机生成,图片已压缩,所以 base64 不会很长,适合作为链接。

    欢迎讨论。
    mmtou
        4
    mmtou  
       2020-10-16 09:55:04 +08:00   ❤️ 2
    gravatar 的可以直接用吧,刚搞了个这样的小程序
    hvboekml
        5
    hvboekml  
    OP
       2020-10-16 10:08:42 +08:00
    @s609926202
    @aabbcc112233
    我是用来作为用户的初始头像,主要是面向开发者,普通用户应该用不上。
    bojue
        6
    bojue  
       2020-10-16 10:12:13 +08:00   ❤️ 1
    我觉得还挺有意思的。

    1.在交互式可以提供一个实时预览的功能,这样页面就不需要跳转了。
    2.用户可以自定义填写自己的图像颜色,圆形还是,矩形。
    3.生成图片可以有个下载按钮,base64 可以预览,快捷拷贝。
    MrCard
        7
    MrCard  
       2020-10-16 10:19:47 +08:00   ❤️ 2
    lz 头像哪里来的?好可爱
    hvboekml
        8
    hvboekml  
    OP
       2020-10-16 10:28:53 +08:00
    @bojue 你的三条建议都非常好👍,面向普通用户的话应该要这样做。

    ps: 目前没有这方面的计划。;-)
    hvboekml
        9
    hvboekml  
    OP
       2020-10-16 10:35:27 +08:00
    @MrCard ~( ̄▽ ̄)~* freepik
    aabbcc112233
        10
    aabbcc112233  
       2020-10-16 10:51:53 +08:00
    @hvboekml 我就是以开发者的角度说的。
    owenzhang24
        11
    owenzhang24  
       2020-10-16 11:30:05 +08:00   ❤️ 1
    为啥不开源
    stephenxiaxy
        12
    stephenxiaxy  
       2020-10-16 11:34:15 +08:00   ❤️ 1
    😋
    sankemao
        13
    sankemao  
       2020-10-16 12:19:24 +08:00   ❤️ 1
    myevery
        14
    myevery  
       2020-10-16 12:34:55 +08:00   ❤️ 1
    这个我正需要,怎么用啊,不太会用呢
    能介绍下么!
    myevery
        15
    myevery  
       2020-10-16 12:43:20 +08:00
    这样引用,不行呢!
    <img src="iVBORw0KGgoAAAANSUhEUgAAAJAAAACQAQMAAADdiHD7AAAABlBMVEXGqtzw8PAoBqUBAAAAPElEQVRIx2P4jwEYhp/QBwYQ4P8PZ4wKjQqNCg2kED8sd34YFRrKQshgVGiICiFFKmotOio0BIWGc1sOANMLmqxPJAzAAAAAAElFTkSuQmCC" />
    这样引用,倒是可以!但每次都不一样,怎么能固定呢
    <img style="-webkit-user-select: none;" src="https://api.prodless.com/avatar.png">
    <br />
    bojue
        16
    bojue  
       2020-10-16 13:03:44 +08:00   ❤️ 1
    @myevery 前面+:data:image/png;base64,

    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQAQMAAADdiHD7AAAABlBMVEXGqtzw8PAoBqUBAAAAPElEQVRIx2P4jwEYhp/QBwYQ4P8PZ4wKjQqNCg2kED8sd34YFRrKQshgVGiICiFFKmotOio0BIWGc1sOANMLmqxPJAzAAAAAAElFTkSuQmCC" />
    myevery
        17
    myevery  
       2020-10-16 13:21:08 +08:00
    @bojue 谢谢,不错不错!我用这个了!
    怎么在 php 中调用这个 api 生成那段字符串啊,能简单介绍一下么,不好意思 基础有点差啊!
    再次感谢!
    myevery
        18
    myevery  
       2020-10-16 13:23:38 +08:00
    就是这段字符串够长的,有 202 个,能不能缩短一点!
    Saszr
        19
    Saszr  
       2020-10-16 13:40:34 +08:00   ❤️ 1
    hhhhh v2 就是这样的 底下肯定有人说开源 XD
    bojue
        20
    bojue  
       2020-10-16 14:01:03 +08:00
    @myevery 不会 php,你可以拼接字符串的方式,添加 base64 的前缀
    hvboekml
        21
    hvboekml  
    OP
       2020-10-16 14:41:39 +08:00
    @aabbcc112233
    @owenzhang24
    目前没有计划 🙃
    jackrebel
        22
    jackrebel  
       2020-10-16 14:50:22 +08:00   ❤️ 1
    如果不开源,楼主的服务器会不会哪天挂掉不能使用了? www.8kmm.com 想用。。。
    hvboekml
        23
    hvboekml  
    OP
       2020-10-16 14:51:59 +08:00
    @myevery

    #15 不支持指定,需要自行保存哦
    #17 正如 @bojue 所说,拼接 `data:image/png;base64,` 即可
    #18 图片已经经过压缩,基本是极限了 😉
    hvboekml
        24
    hvboekml  
    OP
       2020-10-16 14:56:52 +08:00
    @Saszr 原来如此 😆
    hvboekml
        25
    hvboekml  
    OP
       2020-10-16 15:11:33 +08:00
    @jackrebel 目前自用,没有保证,做错误处理?比如我是使用默认头像。导航漂亮哦 😍 ps: 灰底白字对比度好像有些低了
    clf
        26
    clf  
       2020-10-16 15:41:42 +08:00   ❤️ 1
    所以,无法保证你提供的服务存活时间和我的一样长,那么没有人敢在自己产品上用这个。

    另外提一个建议,接口允许传递 key=xxx 这样一个参数,传递 key 相同时返回相同的图片,不然的话就相当于每个用户的头像都得存储在服务器里了。
    hvboekml
        27
    hvboekml  
    OP
       2020-10-16 17:23:58 +08:00
    @lychs1998 看了你的建议,我明白你的意思了,这个 API 主要是生成头像,并没有提供托管,也就是说生成后要自行保存(作为链接或者保存为文件,推荐前者,API 是按此目标设计的)。
    lizheming
        28
    lizheming  
       2020-10-16 18:52:47 +08:00   ❤️ 2
    btw 这种头像的话学名叫 identicon https://zh.wikipedia.org/wiki/Identicon 传入一个固定字符串之后会生成固定的头像,用 identicon 这个关键词可以搜到非常多现成的库,要开源的同学可以直接用这些库去生成下就行。
    hvboekml
        29
    hvboekml  
    OP
       2020-10-16 21:10:09 +08:00
    @lizheming GitHub 是,这个不是 😄
    lizheming
        30
    lizheming  
       2020-10-16 22:02:17 +08:00 via iPhone
    @hvboekml 是的,因为你的更简单,没有提供随机种子,所以不是意义上的 identy icon,不过最终的实现图像还是和 identicon 一致的。另外我觉得楼上大部分人可能更需要的是 identicon
    XPo
        31
    XPo  
       2020-10-17 01:07:15 +08:00
    Identicon
    hvboekml
        32
    hvboekml  
    OP
       2020-10-17 10:27:06 +08:00
    @lizheming
    @XPo
    这种图案不代表就是 identicon,实际也不是。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5339 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:13 · PVG 17:13 · LAX 02:13 · JFK 05:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.