Three.js基于Canvas的文字贴图
Three.js基于Canvas的文字贴图
居中对齐,对中文文字做了长度兼容处理,可根据开发需求自行构造Canvas贴图
const createLabel = () => {const name = "马达加斯加的企鹅们正在快乐的玩耍";const canvas = document.createElement("canvas");const color = "#dddddd";const fontSize = 50;const r = fontSize / 2;const margin = fontSize / 2;const textMarginleft = 10;const height = fontSize * 2;const width =name.length * fontSize + 2 * margin + r * 2 + textMarginleft;canvas.height = height;canvas.width = width;const ctx = canvas.getContext("2d");// outctx.lineWidth = 3;ctx.beginPath();ctx.arc(margin + r, height / 2, r, 0, 2 * Math.PI);ctx.strokeStyle = color;ctx.stroke();ctx.closePath();// innerctx.beginPath();ctx.arc(margin + r, height / 2, 6, 0, 2 * Math.PI);ctx.fillStyle = color;ctx.fill();ctx.strokeStyle = color;ctx.stroke();// fontctx.font = `${fontSize}px Arial`;ctx.textAlign = "start";ctx.textBaseline = "middle";ctx.fillText(name, margin + r * 2 + textMarginleft, height / 2);return {height,width,canvas,};};const main = () => {const c = createLabel();const texture = new THREE.CanvasTexture(c.canvas);const spriteMaterial = new THREE.SpriteMaterial({map: texture,});const sprite = new THREE.Sprite(spriteMaterial);sprite.scale.set(c.width / 100, c.height / 100, 0);scene.add(sprite);};
Three.js基于Canvas的文字贴图相关推荐
- skycons.js 基于canvas的天气动态js插件
skycons.js 基于canvas的天气动态js插件 skycons.js是一个开源的javascript天气动画图标渲染器.相当于gif动图一样. skycons CDN地址:https://w ...
- html5 canvas图表,Chart.js基于Canvas画布的HTML5统计图表库 - 资源分享
Chart.js 是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库.可以绘制柱状图.热点图.曲线图等,使用HTML5中的Canvas画布,支持原生的和jQuery的调用方法. 特点 6种图表 ...
- 【Canvas】js用Canvas绘制漩涡螺旋图动画效果
学习JavaScript编程,会用Canvas画图吗,学会它,能画很多有趣的事物,可自由发挥想象,会发现图形学的美,收获很多,这里有一个例子,如何用canvas画漩涡螺旋图动图效果,接下来开始讲,边学 ...
- 133行代码实现质感地形(js,基于canvas)
原文地址:http://www.playfuljs.com/realistic-terrain-in-130-lines/ 写于2014年5月5日 程序员们都喜欢创造一些东西,但是,还有什么会比创建一 ...
- skycons.js 基于canvas的天气动态图标小插件
skycons是什么 skycons.js是一个开源的javascript天气动画图标渲染器.(特点就是动态的图标,敲黑板) skycons CDN地址:https://www.bootcdn.cn/ ...
- 原生js 基于canvas写一个简单的前端 截图工具
先看效果 <!DOCTYPE html> <html><head><meta charset="utf-8"><title&g ...
- canvas 绘制动态雷达图
canvas 绘制动态雷达图 最近收到一个需求,需要做一个预定的动态雷达图,于是绞尽脑汁,基于canvas 终于实现如图的效果: 图片效果: 我是基于vue 来实现的,现在让我们看看具体是如何实现的: ...
- canvas换图时候会闪烁_基于Canvas实现的高斯模糊(上)「JS篇」
作者:iNahoo 转发链接:https://mp.weixin.qq.com/s/5TxPjznpEBku_ybSMBdnfw 目录 基于Canvas实现的高斯模糊(上)「JS篇」本篇 基于Canv ...
- php 六边形 属性图 能力数值图,详解基于 Canvas 手撸一个六边形能力图
一.前言 六边形能力图如下,由 6 个 六边形组成,每一个顶点代表其在某一方面的能力.这篇文章我们就来看看如何基于 canvas 去绘制这么一个六边形能力图.当然,你也可以基于其他开源的 js 方案来 ...
最新文章
- 爬虫笔记9实例股票数据
- Slave: received end packet from server, apparent master shutdown:
- 张首晟:量子计算、人工智能与区块链
- 关于缓存的几篇好文章
- DP(三)——简单的完全背包
- 对桌面壁纸有要求?壁纸控的你需要看这里
- java初学者代码练习题
- Retinex算法介绍
- 【托业】【新托业TOEIC新题型真题】学习笔记1--题库一--P1~4
- SpringCloud第八章:Gateway新一代网关
- 北大青鸟昌平校区 | 学网络运维与安全就业薪资多少?
- Java循环之经典练习题
- 为什么我的windows 10 电脑关机时,电脑灯延迟很久才熄灭?
- 联通光猫TEWA-800E设置桥接模式
- android SurfaceView + Camera全屏自适应屏幕尺寸
- 【第66篇】行人属性识别研究综述(一)
- 我的世界服务器领地系统,我的世界服务器怎么创建领地
- matlab 重叠峰分解 算法,一种基于粒子群算法的光谱重叠峰分解方法与流程
- Ubuntu 设置笔记本合上盖子时不进入休眠
- 爬一爬妹子网,看看妹子
热门文章
- c语言求解一元二次方程的两相等实根,c语言改错题 有关求一元二次方程ax2+bx+c=0的两个实根...
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于JAVA的物流管理系统ztwfg
- “金财工程”网络安全 二
- html如何遍历ajax数组,ajax返回json数组遍历添加到html
- 2020-6:闭包(JavaScript)
- fft与psd的关系【傅里叶变化求功率谱】
- python __repr__方法_Python __repr__()方法起什么作用呢?
- [项目技巧]VUE小米商城+跨域+sass编译器封装+吸顶功能
- camtasia 视频录制教程
- 画手cv什么意思_画手的定义到底是什么?