canvas绘制圆角头像的实现方法


Posted in HTML / CSS onJanuary 17, 2019

如果你想绘制的网页包含一个圆弧形的头像的canvas图片,但是头像本身是正方形的,需要的方法如下:

首先, 拿到头像在画布上的坐标和宽高:(具体怎么获取不在此做具体介绍)

let {avatarX, avatarY, avatarW, avatarH} = {20, 20, 80, 80};

然后 只需要调用以下函数即可:

let Canvas = document.createElement('canvas');
let ctx = Canvas.getContext("2d");
let avatar = new Image();
avatar.src = '../src/xx.png';
avatar.onload = (scaleBy = 2) => {
   circleImg(ctx, avatar, avatarX * scaleBy, avatarY * scaleBy, avatarW * scaleBy / 2);
}

// r: 半径
function circleImg(ctx, img, x, y, r) {
    ctx.save();
    var d =2 * r;
    var cx = x + r;
    var cy = y + r;
    ctx.arc(cx, cy, r, 0, 2 * Math.PI);
    ctx.clip();
    ctx.drawImage(img, x, y, d, d);
    ctx.restore();
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
css3实现一个div设置多张背景图片及background-image属性实例演示
Aug 10 HTML / CSS
纯CSS3实现绘制各种图形实现代码详细整理
Dec 26 HTML / CSS
浅析css3中matrix函数的使用
Jun 06 HTML / CSS
利用HTML5 Canvas制作一个简单的打飞机游戏
May 11 HTML / CSS
HTML5 Canvas绘制五星红旗
May 04 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
Dec 11 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
Aug 28 HTML / CSS
Html5与App的通讯方式详解
Oct 24 HTML / CSS
HTML实现代码雨源码及效果示例
Feb 25 HTML / CSS
canvas绘制树形结构可视图形的实现
Apr 03 HTML / CSS
css3实现背景图片半透明内容不透明的方法示例
Apr 13 HTML / CSS
el-form每行显示两列底部按钮居中效果的实现
Aug 05 HTML / CSS
HTML5如何使用SVG的方法示例
Jan 11 #HTML / CSS
Canvas 像素处理之改变透明度的实现代码
Jan 08 #HTML / CSS
详解Canvas实用库Fabric.js使用手册
Jan 07 #HTML / CSS
Html5原创俄罗斯方块(基于canvas)
Jan 07 #HTML / CSS
h5使用canvas画布实现手势解锁
Jan 04 #HTML / CSS
canvas中普通动效与粒子动效的实现代码示例
Jan 03 #HTML / CSS
详解webapp页面滚动卡顿的解决办法
Dec 26 #HTML / CSS
You might like
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
php视频拍照上传头像功能实现代码分享
2015/10/08 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
修复IE9&safari 的sort方法
2011/10/21 Javascript
JavaScript代码复用模式实例分析
2012/12/02 Javascript
js二级地域选择的实现方法
2013/06/17 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
JS动态添加iframe的代码
2015/09/14 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
使用Karma做vue组件单元测试的实现
2020/01/16 Javascript
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
Python 列表反转显示的四种方法
2020/11/16 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
HTML5通用接口详解
2016/06/12 HTML / CSS
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
个人自我评价范文
2014/02/05 职场文书
运动会口号大全
2014/06/07 职场文书
新闻人物通讯稿
2014/10/09 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
亲戚关系证明
2015/06/24 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
Pytorch中的数据集划分&正则化方法
2021/05/27 Python