Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >超火的渐变头像源码,直呼 “搜1Z?”

超火的渐变头像源码,直呼 “搜1Z?”

作者头像
程序猿石头
发布于 2021-10-14 07:24:33
发布于 2021-10-14 07:24:33
69500
代码可运行
举报
文章被收录于专栏:程序猿石头程序猿石头
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制


大家好,我是石头哥。


国庆节期间,你也一定看到了超火的“渐变国旗头像”吧?


今天,就给大家分享自己 DIY 的工具以及源码。


朋友圈里下图这样的头像,你数数你朋友圈里有多少个?



制作方法很简单(点击文末阅读原文即可),上传图片,选择样式,保存图片即可。

<<< 左右滑动见更多 >>> 我稍微看了下,这其实背后的代码非常简单,直接纯前端即可完成。 前面还发现朋友圈有大佬制作了微信小程序可以一键获取微信头像,一键设置等很方便。(哈哈,本来开始石头哥也准备做一个,发现大佬已经做出来了,就懒得去折腾了) 比如这是我看到的一款网络普遍流传的在线工具的源码。 主要是用了 fabric.js 这个前端的库(官网:http://fabricjs.com/),将小挂件的图片和你的头像图片,直接用Canvas绘制即可。 Fabric.js is a powerful and simple Javascript HTML5 canvas library Fabric provides interactive object model on top of canvas element Fabric also has SVG-to-canvas (and canvas-to-SVG) parser 比如,我也依葫芦画瓢(其实就是复制粘贴)直接 DIY 了一款,收集了24个小挂件如下图所示:

核心代码其实就那么几行,页面定义 cavas 以及相关交互的按钮等:

然后就是用户交互后,改变 cavas 中的内容: function viewer() { var file = document.getElementById("upload").files[0]; var reader = new FileReader; if (file) { reader.readAsDataURL(file); reader.onload = function(e) { img.src = reader.result; img.onload = function() { img2Cvs(img) } } } else { img.src = "" } } function img2Cvs(img) { ... canvasFabric = new fabric.Canvas("cvs", { width: screenWidth, height: screenWidth, backgroundImage: new fabric.Image(img, { scaleX: screenWidth / img.width, scaleY: screenWidth / img.height }) }); changeHat(); } function changeHat() { ... if (hatInstance) { canvasFabric.remove(hatInstance) } hatInstance = new fabric.Image(hatImage, { top: 0, left: 0, scaleX: screenWidth / hatImage.width, scaleY: screenWidth / hatImage.height, cornerColor: "#0b3a42", cornerStrokeColor: "#fff", cornerStyle: "circle", transparentCorners: false, rotatingPointOffset: 30 }); canvasFabric.add(hatInstance) } 其实到这里也就结束了。你甚至还可以加点其他的页面元素进去。 这里再教大家一个方法能够快速复制并且 DIY 自己的页面,然后绑定自己的域名。 你只需要 fork 这个仓库:http://github.com/tl3shi/guoqing.coderstone.cn

DIY 上面的 index.html 换成自己的样式。可直接用 github 的 pages 服务绑定自己的域名。 项目根目录下新增一个文件名 CNAME,例如我的域名 guoqing.coderstone.cn 然后域名解析,新增一个 CNAME 指向 $id.github.io. 即可,例如我其中一个 github 账号 id 是tl3shi,这个时候记录值为 tl3shi.github.io.)

然后等生效就可以通过自己 DIY 的网址访问(阅读原文访问)啦:guoqing.coderstone.cn

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿石头 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
动态海报营销FabricJs方案
Fabric.js是一个可以简化Canvas程序编写的库。 Fabric.js为Canvas提供所缺少的对象模型, svg parser, 交互和一整套其他不可或缺的工具。Fabric.js可以做很多事情,如下:
张炳
2019/10/15
3.6K0
动态海报营销FabricJs方案
图片处理不用愁,给你十个小帮手
本文阿宝哥会为小伙伴们隆重介绍用于图片处理的十个 “小帮手”,他们各个身怀绝技,拥有模糊、压缩、裁剪、旋转、合成、比对等技能。相信认识他们之后,你将能够轻松应对大多数的图片处理场景。
阿宝哥
2020/06/23
5.3K0
Fabric.js 居中元素 🎗️
阅读本文需要你有一定的 Fabric.js 基础,如果还不太了解 Fabric.js 是什么,可以阅读 《Fabric.js 从入门到膨胀》
德育处主任
2022/06/10
3.9K0
Fabric.js 居中元素 🎗️
Fabric.js 从入门到________
如果你需要用 canvas 做特效,那我推荐你使用 Fabric.js ,因为 Fabric.js 语法更加简单易用,而且还提供了很多交互类的 api。
德育处主任
2022/04/17
13.8K0
Fabric.js 从入门到________
基于Vue + fabric.js的图片标注组件搭建
做这个组件的初衷,是基于AI组的标注识别,传送一张图片以及图片上的一些坐标,返回对应的识别结果,前端要做的就是基于一张图片,在图片上绘制出相应的标注框,并将标注框对应的坐标以及宽高传送给后端进行识别,这是最基础的需求。在图片上进行绘制,首先想到的是用canvas,cancas强大的功能能让我们在图片上为所欲为,原生的canvasapi众多且繁杂,上手不易,fabric是一个基于canvas的强大的框架,提供一种类似面向对象的方法来编写canva,在原生canvas之上提供了交互式对象模型,通过简洁的api就可以在画布上进行丰富的操作。因此选择fabric来作为基础框架。
扬起
2022/06/28
5.9K1
基于Vue + fabric.js的图片标注组件搭建
Fabric.js 图案画笔(笔刷)
如果只是看 Fabric.js 文档可能还不太明白 图案画笔 PatternBrush 是如何使用。
德育处主任
2023/02/26
1.4K0
Fabric.js 图案画笔(笔刷)
在 Vue3中使用Fabric.js实现渐变(Gradient)效果,包括径向渐变radial
简单来说,如果你需要用 canvas 做特效或者做交互,那不妨试试 Fabric.js 这个库,它会使开发更加简单和直观。
德育处主任
2022/04/15
3.3K0
在 Vue3中使用Fabric.js实现渐变(Gradient)效果,包括径向渐变radial
fabricjs常用方法
官网:http://fabricjs.com/ fabricjs为canvas的一个操作插件,功能较为齐全,下面为常用的知识点 //1: 获得画布上的所有对象: var items = canvas.getObjects(); //2: 设置画布上的某个对象为活动对象。 canvas.setActiveObject(items[i]); //3:获得画布上的活动对象 canvas.getActiveObject() //4:取消画布中的所有对象的选中状态。 canvas.discardActiveOb
星辰_大海
2023/03/16
2K1
fabricjs常用方法
Fabric.js 将本地图像上传到画布背景
这次要实现的效果是:在本地上传一张图片,然后渲染到 canvas 里(当做背景图)。
德育处主任
2022/04/17
3K0
Fabric.js 将本地图像上传到画布背景
【实战篇】使用fabric.js 快速开发一个图片编辑器
最近自己开发了一个图片编辑器,把源码也放在了GitHub上,顺便也总结下使用fabric.js开发一个编辑器需要用到哪些知识点。
coder_koala
2022/11/28
3.8K0
【实战篇】使用fabric.js 快速开发一个图片编辑器
Fabric.js 更换图片的3种方法(包括更换分组内的图片,以及存在缓存的情况)
我是在原生环境下开发的,同时也提供了一份 Vue3 环境下开发的代码(文末有链接)。
德育处主任
2022/04/17
5K1
Fabric.js 更换图片的3种方法(包括更换分组内的图片,以及存在缓存的情况)
我用 10000 张图片合成我们美好的瞬间
月亮照回湖心 野鹤奔向闲云 1前言 昨天是情人节,大家想必都非常愉快的度过了节日~我也是😚 好了,废话不多说,今天给大家带来是一个比较有意思的项目,通过切割目标图片,获得10000个方块,用我们所选择到的图片,对应的填充方块实现一个千图成像的效果.你可以用它来拼任何你想拼的有意义的大图.(比如我,就想用它把我和对象恋爱到结婚拍的所有照片用来做一个超级超级超级超级大的婚纱照,在老家鄱阳湖的草地上铺着,用无人机高空俯瞰,啧,挺有意思~在这里先埋个点,希望几年后能够实现😊) 首先,这篇文章是基于我的上一篇fabr
秋风的笔记
2021/08/27
6210
我用 10000 张图片合成我们美好的瞬间
Cocos Creator 国旗头像生成器,源码奉上!
要获取手机相册图片,需要使用浏览器 input 标签提供的能力,在桌面浏览器上则是浏览文件目录选择图片。
张晓衡
2019/09/27
1.3K0
Cocos Creator 国旗头像生成器,源码奉上!
前端实现头像转黑白头像
做了个将头像转换成黑白的页面: https://klren0312.github.io/avatarToBlackAndWhite/
治电小白菜
2020/08/25
1.8K0
前端实现头像转黑白头像
Canvas 进阶(六)实现图片压缩功能
因此我们设计一个 imageCompress 类,传入一个 option, 其参数有:
小皮咖
2020/02/25
1.4K0
Canvas 进阶(六)实现图片压缩功能
解锁前端难题:亲手实现一个图片标注工具
业务中涉及图片的制作和审核功能,审核人员需要在图片中进行标注,并说明存在的问题,标注过程中需要支持放大缩小,移动等交互,将业务剥离,这个需求,可以定义为实现一个图片标注功能。
winty
2024/04/15
1.2K0
解锁前端难题:亲手实现一个图片标注工具
聊聊 19.7k Star 的 canvas 绘图神器 fabric.js
我们想在画布上画个基本的简单形状的时候,使用 Canvas 不会觉得有什么繁琐。但当画布上需要任何形式的互动,绘制复杂的图形和在特定情况需要改变图片的时候,使用原生 canvas API 将会变得很困难。 而 Fabric 旨在解决这个问题。
秋风的笔记
2021/09/22
3.8K0
聊聊 19.7k Star 的 canvas 绘图神器 fabric.js
手把手教你实现一个图片压缩工具(Vue与Node的完美配合)
图片压缩对于我们日常生活来讲,是非常实用的一项功能。有时我们会在在线图片压缩网站上进行压缩,有时会在电脑下软件进行压缩。那么我们能不能用前端的知识来自己实现一个图片压缩工具呢?答案是有的。
Vam的金豆之路
2021/12/01
8170
手把手教你实现一个图片压缩工具(Vue与Node的完美配合)
Canvas绘图在微信小程序中的应用:生成个性化海报
从2012年开始,微信那个时候用户的积累的量已经非常大了,推出公众号,当然大屏智能手机在那个时候也流行,传统的大众媒体逐步消亡,像微信公众号这样的新媒体盛行。企业的广告投入开始从电视等传统媒体向基于圈层文化的新媒体精准营销转移,甚至很多企业尤其互联网企业开始思考如何利用用户的自传播这种方式去宣传企业、实现商业目标。而用户的自传播很好的途径就是生产个性化的海报。举个最常见的例子,我第一次使用Keep是因为在朋友圈看到朋友分享她运动量的一个截图,当时在我看来非常酷,有心率脉搏呀、时速运动量啊、消耗的卡路里等,还有一个二维码,然后我就点了下载了Keep,这整个获客成本几乎为0,秒秒钟就多了一个用户。而实现这一过程的技术手段就可以用canvas。所以,canvas的盛行,与企业的精准营销和用户的自传播有很大的关系。 如极客时间的一些实现案例:
胡琦
2021/09/09
1.5K0
超火的微信渐变国旗头像,竟然可以用 JavaScript 一键生成。。
点击关注公众号,Java干货及时送达 2021 年国庆又来了,大家都在玩国庆头像: 朋友圈都已经玩疯了,栈长朋友圈好多粉丝都已经换上了,国庆,伟大祖国母亲的生日,就得有点仪式感。。 好家伙,这次也不用 @官方了,为了满足大家的需求,栈长也做了一个小网站,助你快速生成国旗头像,制作方法都非常简单,只需 3 步,一键生成,整个过程只要几秒钟。。 生成过程:1、选择你想要的的模板;2、上传你要生成的的图片;3、长按生成图片保存到相册; 在线生成工具见文末! 栈长目前搜集了 8 个头像模板: 大家如果有更好的
Java技术栈
2022/03/03
6580
相关推荐
动态海报营销FabricJs方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验