当前位置: 首页 > news >正文

vue3仿飞书头像,根据不同名称生成不同的头像背景色

效果展示:

传递三个参数:
  • name:要显示的名称;
  • size:头像的大小;
  • cutNum:分割当前名称的最后几位数;
代码如下:
<template><div:style="{color: '#fff',borderRadius: '50%',width: size + 'px',height: size + 'px',display: 'block',textAlign: 'center',lineHeight: size + 'px',fontSize: size * 0.4 + 'px',background: color(name)}">{{ name.slice(-cutNum) }}</div>
</template><script lang="ts" setup>
defineProps({name: {type: String,default: ""},size: {type: Number,default: 16},cutNum: {type: Number,default: 1}
});const color = (name: string) => {if (name) {let num = "";for (let i = 0; i < name.length; i++) {num += name[i].charCodeAt(0).toString();}const r = Math.min(100 + (parseInt(num.slice(0, 2), 10) % 55), 255);const g = Math.min(100 + (parseInt(num.slice(2, 4), 10) % 55), 255);const b = Math.min(100 + (parseInt(num.slice(4, 6), 10) % 55), 255);return `rgb(${r}, ${g}, ${b})`;} else {return "rgb(125, 125, 125)";}
};
</script>
使用代码如下:
<AuthorImage name="铁甲小宝" :size="74" :cut-num="2"></AuthorImage>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 安卓开发中的AppCompat框架使用详解
  • 笔记结构设计:构建清晰、有逻辑的编程学习笔记
  • opencv-python图像增强二:图像去雾(暗通道去雾)
  • 【OpenCV】window 下 VS Code 配置OpenCV
  • 【阿旭机器学习实战】【38】支持向量机SVM实现手写数字识别,模型训练、评估,以及参数调优全流程
  • maven下载及配置详细介绍(2024最新攻略)
  • opencv颜色格式
  • LeetCode旋转图像
  • 自动驾驶行业知识汇总
  • ChatMoneyAI嘴替,高情商回复
  • 【前端】NodeJS:实战案例——记账本
  • 知识与智慧
  • Proxmox LXC 部署ubuntu,centos
  • 在进行等保测评时,如何确保技术风险和非技术风险的评估结果具有可操作性?
  • Untiy Modbus 西门子 S7-1200 基础通信
  • 分享一款快速APP功能测试工具
  • [译] 怎样写一个基础的编译器
  • 2017届校招提前批面试回顾
  • bearychat的java client
  • C++类的相互关联
  • Cookie 在前端中的实践
  • LeetCode29.两数相除 JavaScript
  • MySQL主从复制读写分离及奇怪的问题
  • Netty源码解析1-Buffer
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Python_网络编程
  • Python学习笔记 字符串拼接
  • Python语法速览与机器学习开发环境搭建
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • ------- 计算机网络基础
  • 学习使用ExpressJS 4.0中的新Router
  • 再谈express与koa的对比
  • AI算硅基生命吗,为什么?
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​​​【收录 Hello 算法】9.4 小结
  • ​ssh免密码登录设置及问题总结
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • # Redis 入门到精通(九)-- 主从复制(1)
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (~_~)
  • (09)Hive——CTE 公共表达式
  • (1)无线电失控保护(二)
  • (3)选择元素——(17)练习(Exercises)
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)setTimeout 和 setInterval 的区别
  • (转)visual stdio 书签功能介绍
  • .Net 6.0 处理跨域的方式