怎么在网页中创建canvas和文字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在网页中创建canvas和文字?相关的知识,希望对你有一定的参考价值。
<canvas id="t_con" height="200px" width="200px"></canvas><script>
var ele = document.getElementById("t_con");
var ctx = ele.getContext("2d");
// 字号为60px ,字体为impact
ctx.font = "30px impact";
//将文本填充为棕色
ctx.fillStyle = "#960";
//将文本设为居中对齐
ctx.textAlign = 'center'; //规定变换操控点的位置
//设置文字
ctx.fillText("Happy Trails!", 100, 55, 400); //参数为fillText(文本内容, 变换操控点的x坐标, 变换中心的y坐标, 文本最大宽度)
</script> 参考技术A 如果你想在网页当中使用canvas写文字的效果,那你需要好好的找到html5中canvas那段再看一遍,具体需要什么效果,还看自己想要什么效果,就用到canvas的哪个功能。
以下代码来自百度,你随便复制预览效果:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5 Canvas绘制文本文字入门示例</title>
</head>
<body>
<!-- 添加canvas标签,并加上红色边框以便于在页面上查看 -->
<canvas id="myCanvas" width="400px" height="300px" style="border: 1px solid red;">
您的浏览器不支持canvas标签。
</canvas>
<script type="text/javascript">
//获取Canvas对象(画布)
var canvas = document.getElementById("myCanvas");
//简单地检测当前浏览器是否支持Canvas对象,以免在一些不支持html5的浏览器中提示语法错误
if(canvas.getContext)
//获取对应的CanvasRenderingContext2D对象(画笔)
var ctx = canvas.getContext("2d");
//设置字体样式
ctx.font = "30px Courier New";
//设置字体填充颜色
ctx.fillStyle = "blue";
//从坐标点(50,50)开始绘制文字
ctx.fillText("CodePlayer+中文测试", 50, 50);
</script>
</body>
</html> 参考技术B 利用编程,可以实现在网页中显示出我们想要展示的画布与文字。具体的你还可以去百度搜索一下秒秒学,里面的Flash的HTML5开发教程就对这个工具有详细的讲解。里面很多教程都是免费的哦。本回答被提问者采纳 参考技术C <canvas id="canvas" width="500" height="500" style="width:250px;height:250px;"></canvas>
<script type="text/javascript">
var c=document.getElementById("canvas");
var ctx=c.getContext("2d");
//文字
ctx.fillStyle='#0085D0';
ctx.font = " 36px '微软雅黑'";
ctx.fillText('1234', 110, 170);
</script> 参考技术D <canvas id="canvas" width="500" height="500" style="width:250px;height:250px;"></canvas>
<script type="text/javascript">
var c=document.getElementById("canvas");
var ctx=c.getContext("2d");
//文字
ctx.fillStyle='#0085D0';
ctx.font = " 36px '微软雅黑'";
ctx.fillText('1234', 110, 170);
</script>
Three中创建文字的几种方法
1. DOM + CSS
传统html5的文字实现,用于添加描述性叠加文字的方法。一般使用绝对定位,并且保证z-index够大,用于显示在3D场景之上。
优点:
与CSS3D效果一致
缺点:
3d效果和运动还原不好
2. THREE.CanvasTexture
在canvas中绘制文字,然后使用CanvasTexture作为纹理进行贴图
例子
优点:
文字效果较为丰富,方便绘制。
缺点:
一旦生成,分辨率固定,放大会产生失真。
3. THREE.TextGeometry / THREE.TextBufferGeometry
使用原生的TextGeometry进行渲染生成。例子
优点:
效果好,可与场景进行同步
缺点:
单个字体的颜色和动画制作较为复杂,且耗费资源较大
4. 3d字体模型
使用3d制作的字体模型,使用threejs进行加载控制。例子
优点:
效果好,可定制效果
缺点:
加载模型较为耗费资源,字体内容无法自定义
5. 位图字体
通过BmpFont生成文字模板,然后进行加载显示。BMFonts (位图字体) 可以将字形批处理为单个BufferGeometry。BMFont的渲染支持自动换行、字母间距、字句调整、signed distance fields with standard derivatives、multi-channel signed distance fields、多纹理字体等特性。three-bmfont-text
优点:
可自定义字体和效果
缺点:
加载模型较为耗费资源,字体内容无法自定义
6. Three.Sprite
Sprite加载图像纹理
优点:
永远面向相机的平面,适合作为标签显示
缺点:
存在canvasTexture的问题
以上是关于怎么在网页中创建canvas和文字?的主要内容,如果未能解决你的问题,请参考以下文章