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的文字贴图相关推荐

  1. skycons.js 基于canvas的天气动态js插件

    skycons.js 基于canvas的天气动态js插件 skycons.js是一个开源的javascript天气动画图标渲染器.相当于gif动图一样. skycons CDN地址:https://w ...

  2. html5 canvas图表,Chart.js基于Canvas画布的HTML5统计图表库 - 资源分享

    Chart.js 是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库.可以绘制柱状图.热点图.曲线图等,使用HTML5中的Canvas画布,支持原生的和jQuery的调用方法. 特点 6种图表 ...

  3. 【Canvas】js用Canvas绘制漩涡螺旋图动画效果

    学习JavaScript编程,会用Canvas画图吗,学会它,能画很多有趣的事物,可自由发挥想象,会发现图形学的美,收获很多,这里有一个例子,如何用canvas画漩涡螺旋图动图效果,接下来开始讲,边学 ...

  4. 133行代码实现质感地形(js,基于canvas)

    原文地址:http://www.playfuljs.com/realistic-terrain-in-130-lines/ 写于2014年5月5日 程序员们都喜欢创造一些东西,但是,还有什么会比创建一 ...

  5. skycons.js 基于canvas的天气动态图标小插件

    skycons是什么 skycons.js是一个开源的javascript天气动画图标渲染器.(特点就是动态的图标,敲黑板) skycons CDN地址:https://www.bootcdn.cn/ ...

  6. 原生js 基于canvas写一个简单的前端 截图工具

    先看效果 <!DOCTYPE html> <html><head><meta charset="utf-8"><title&g ...

  7. canvas 绘制动态雷达图

    canvas 绘制动态雷达图 最近收到一个需求,需要做一个预定的动态雷达图,于是绞尽脑汁,基于canvas 终于实现如图的效果: 图片效果: 我是基于vue 来实现的,现在让我们看看具体是如何实现的: ...

  8. canvas换图时候会闪烁_基于Canvas实现的高斯模糊(上)「JS篇」

    作者:iNahoo 转发链接:https://mp.weixin.qq.com/s/5TxPjznpEBku_ybSMBdnfw 目录 基于Canvas实现的高斯模糊(上)「JS篇」本篇 基于Canv ...

  9. php 六边形 属性图 能力数值图,详解基于 Canvas 手撸一个六边形能力图

    一.前言 六边形能力图如下,由 6 个 六边形组成,每一个顶点代表其在某一方面的能力.这篇文章我们就来看看如何基于 canvas 去绘制这么一个六边形能力图.当然,你也可以基于其他开源的 js 方案来 ...

最新文章

  1. 爬虫笔记9实例股票数据
  2. Slave: received end packet from server, apparent master shutdown:
  3. 张首晟:量子计算、人工智能与区块链
  4. 关于缓存的几篇好文章
  5. DP(三)——简单的完全背包
  6. 对桌面壁纸有要求?壁纸控的你需要看这里
  7. java初学者代码练习题
  8. Retinex算法介绍
  9. 【托业】【新托业TOEIC新题型真题】学习笔记1--题库一--P1~4
  10. SpringCloud第八章:Gateway新一代网关
  11. 北大青鸟昌平校区 | 学网络运维与安全就业薪资多少?
  12. Java循环之经典练习题
  13. 为什么我的windows 10 电脑关机时,电脑灯延迟很久才熄灭?
  14. 联通光猫TEWA-800E设置桥接模式
  15. android SurfaceView + Camera全屏自适应屏幕尺寸
  16. 【第66篇】行人属性识别研究综述(一)
  17. 我的世界服务器领地系统,我的世界服务器怎么创建领地
  18. matlab 重叠峰分解 算法,一种基于粒子群算法的光谱重叠峰分解方法与流程
  19. Ubuntu 设置笔记本合上盖子时不进入休眠
  20. 爬一爬妹子网,看看妹子

热门文章

  1. c语言求解一元二次方程的两相等实根,c语言改错题 有关求一元二次方程ax2+bx+c=0的两个实根...
  2. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于JAVA的物流管理系统ztwfg
  3. “金财工程”网络安全 二
  4. html如何遍历ajax数组,ajax返回json数组遍历添加到html
  5. 2020-6:闭包(JavaScript)
  6. fft与psd的关系【傅里叶变化求功率谱】
  7. python __repr__方法_Python __repr__()方法起什么作用呢?
  8. [项目技巧]VUE小米商城+跨域+sass编译器封装+吸顶功能
  9. camtasia 视频录制教程
  10. 画手cv什么意思_画手的定义到底是什么?