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

H5画布绘制文本

H5画布绘制文本

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			#myCanvas{
				box-shadow: 0 0 5px black;
				margin-top: 50px;
				margin-left: 50px;
			}
		</style>
	</head>
	<body>
		<canvas id="myCanvas" width="500" height="500"></canvas>
	</body>
    <script>
        //获取画布
    	var canvas = document.getElementById("myCanvas");
        var ctx = canvas.getContext("2d");
        //画出两条辅助线,fillRect宽高度为1则画出线
        ctx.fillRect(100, 0, 1, 100);
        ctx.fillRect(0, 100, 100, 1);
        //设置绘制的字体
        ctx.font = "50px 楷体";
        //设置文本对齐,start文本指定位置开始,end文本指定位置结束,center文本的中心被放置在指定位置
        ctx.textAlign = "start";
        //文本垂直,top bottom middle
        ctx.textBaseline = "bottom";
        //设置阴影颜色、大小、偏移
        ctx.shadowColor = "red";
        ctx.shadowBlur = 10;
        ctx.shadowOffsetX = 3;
        ctx.shadowOffsetY = 10;
        //文本尺寸测量
        var ctext = ctx.measureText("明朝那些事儿");
        var wid = ctext.width;
        //创建线条渐变,addColorStop指定颜色停止
        var linear = ctx.createLinearGradient(100, 100, 100+width, 100);
        linear.addColorStop(0, "red");
        linear.addColorStop(0.5, "orange");
        linear.addColorStop(1, "blue");
        //样色设为渐变
        ctx.fillStyle = linear;
        ctx.strokeStyle = linear;
        //绘制实心的文本
        ctx.fillText("明朝那些事儿", 100, 100);
        //绘制空心的文本
        ctx.strokeText("明朝那些事儿", 100, 200);
    </script>
</html>

在这里插入图片描述
在这里插入图片描述

相关文章:

  • 寻找协调器FindCoordinatorRequest请求流程
  • jsvmp-某乎 x-zes-96 算法还原
  • 迅速了解JDK线程池以及Spring线程池
  • 前缀和与查分(一维前缀和,二维前缀和(子矩阵的和)一维差分、二维差分(差分矩阵))
  • 2022年是SEO行业凋谢的一年
  • CDR插件开发之Addon插件006 - 初体验:通过C#代码用外挂方式操作CDR中的对象
  • 【2020.09.01】 新学期,新气象
  • 基于云计算与深度学习的常见作物害虫识别系统的设计与实现
  • Flask 学习-22.可插拨视图MethodView类
  • 微信公众号如何获取查题搜题功能接口
  • 聚醋酸乙烯酯接枝聚苯乙烯PVAc-g-PSt微球/接枝-聚甲基丙烯酸甲酯表面(PS-acyl-Cl)的研究
  • 百度网盘的音乐怎么分享到qq音乐里?
  • Q_PLUGIN_METADATA
  • 【Java初阶】面向对象三大特性之继承
  • 标签传播算法(LPA)
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • exports和module.exports
  • input实现文字超出省略号功能
  • JavaScript-Array类型
  • Java的Interrupt与线程中断
  • Linux中的硬链接与软链接
  • Node + FFmpeg 实现Canvas动画导出视频
  • PHP 的 SAPI 是个什么东西
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Terraform入门 - 1. 安装Terraform
  • Vim 折腾记
  • 动态规划入门(以爬楼梯为例)
  • 搞机器学习要哪些技能
  • 欢迎参加第二届中国游戏开发者大会
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 前端之React实战:创建跨平台的项目架构
  • nb
  • postgresql行列转换函数
  • 翻译 | The Principles of OOD 面向对象设计原则
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (ibm)Java 语言的 XPath API
  • (超详细)语音信号处理之特征提取
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转) Android中ViewStub组件使用
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • 、写入Shellcode到注册表上线
  • .Net Core 中间件验签
  • .Net Memory Profiler的使用举例
  • .NET Micro Framework初体验
  • .net mvc部分视图
  • .net refrector
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET/C# 使用反射注册事件
  • .NET6实现破解Modbus poll点表配置文件
  • .NET分布式缓存Memcached从入门到实战
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • @column注解_MyBatis注解开发 -MyBatis(15)