HTML:canvas画圆形加矩形组合
发布日期:2021-06-30 15:46:18
浏览次数:2
分类:技术文章
本文共 1573 字,大约阅读时间需要 5 分钟。
可以返回十个字以内的图片,矩形随内容长度变化
运行效果:
参数格式:params = { 'count':18, 'content':'哈哈哈', 'circle':'red', 'rect':'blue', 'num':'yellow', 'text':'black'};
count:数量
content:文字
circle:圆形填充色
rect:矩形边框色
num:数字颜色
text:文字颜色
function drawCircle(params) { let canvas = document.createElement("canvas"); canvas.width = 300; canvas.height = 200; let ctx = canvas.getContext('2d'); let countLeft, contentLeft, rectWidth, rectLeft; countLeft = (canvas.clientWidth - params.count.toString().length * 16.7) / 2; if (params.content.length <= 6) { rectWidth = 140; } else if (params.content.length === 7) { rectWidth = 180; } else if (params.content.length === 8) { rectWidth = 200; } else if (params.content.length === 9) { rectWidth = 220; } else if (params.content.length === 10) { rectWidth = 240; } rectLeft = (canvas.clientWidth - rectWidth) / 2; contentLeft = (canvas.clientWidth - params.content.length * 20) / 2; ctx.strokeStyle = params.rect; ctx.strokeRect(rectLeft, 20, rectWidth, 50); ctx.closePath(); ctx.beginPath(); ctx.arc(150, 135, 60, 0, 2 * Math.PI, false); ctx.fillStyle = params.circle; ctx.fill(); ctx.closePath(); ctx.beginPath(); ctx.font = '30px bold arial'; ctx.fillStyle = params.num; ctx.fillText(params.count, countLeft, 140); ctx.stroke(); ctx.closePath(); ctx.beginPath(); ctx.font = '20px bold arial'; ctx.fillStyle = params.text; ctx.fillText(params.content, contentLeft, 53); ctx.stroke(); ctx.closePath(); return canvas;}
转载地址:https://kaisarh.blog.csdn.net/article/details/105826213 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月16日 10时56分08秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Oracle 利用 UTL_SMTP 包发送邮件
2019-04-30
Oracle 的循环中的异常捕捉和处理
2019-04-30
Oracle的pfile和spfile的一点理解和笔记
2019-04-30
WebService的简单案例记录(Java)
2019-04-30
java实现稀疏数组及将稀疏数组存入硬盘中
2019-04-30
2021-05-18
2019-04-30
libuv实现ping包发送和接收
2019-04-30
基础架构系列篇-系统centos7安装docker+COMPOSE
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
软件质量的8个特性
2019-04-30
应届渣渣前端的艰难求职之路
2019-04-30
2021年不可错过的17种JS优化技巧(一)
2019-04-30
在 Vue 中用 Axios 异步请求API
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2019-04-30
Mysql 之主从复制
2021-07-03
【NLP学习笔记】中文分词(Word Segmentation,WS)
2019-04-30
【超越白皮书7】你需要知道关于ETH2.0的几个事实
2019-04-30
对于时间复杂度的通俗理解
2019-04-30