1.代码:

<canvas width="700" height="300" id="canvasOne" class="canvasOne"></canvas>
<script>
var cancasOne = document.getElementById('canvasOne');
var ctx = cancasOne.getContext('2d');
var text = '后会无期',
textMetrics,
square_width = 20,
font_height = 128;
//画网线
function drawGrid(color, stepx, stepy) {
ctx.save();
ctx.strokeStyle = color;
ctx.lineWidth = 0.5;
ctx.fillStyle = '#ffffff';
ctx.fillRect(0, 0, canvasOne.width, canvasOne.height);
//画竖线
for (var i = stepx + 0.5; i < canvasOne.width; i += stepx) {
ctx.beginPath();
ctx.moveTo(i, 0);
ctx.lineTo(i, canvasOne.height);
ctx.stroke();
}
//画横线
for (var i = stepx + 0.5; i < canvasOne.height; i += stepy) {
ctx.beginPath();
ctx.moveTo(0, i);
ctx.lineTo(canvasOne.width, i);
ctx.stroke();
}
ctx.restore();
}
//画文本
function drawText() {
ctx.fillStyle = 'orange';
ctx.strokeStyle = 'cornflowerblue';
ctx.fillText(text, canvasOne.width / 2,
canvasOne.height / 2);
ctx.strokeText(text, canvasOne.width / 2,
cancasOne.height / 2);
}
//画中间的小正方形
function drawCenterSquare() {
ctx.fillStyle = 'rgba(255,0,0,0.4)';
ctx.strokeStyle = 'black';
ctx.fillRect(canvasOne.width / 2 - square_width / 2,
canvasOne.height / 2 - square_width / 2,
square_width, square_width);
ctx.strokeRect(canvasOne.width / 2 - square_width / 2,
cancasOne.height / 2 - square_width / 2,
square_width, square_width);
}
ctx.font = '128px Helvetica';
ctx.textBaseline = 'middle'; //设置文本的垂直对齐方式
ctx.textAlign = 'center';//设置文本的水平对齐方式
textMetrics = ctx.measureText(text);
drawGrid('lightgray', 10, 10);
drawText();
drawCenterSquare();
</script>

2.显示结果:

最新文章

  1. mvc api 返回json
  2. [C++] Running time and Integer to String
  3. 一行代码调用实现带字段选取+条件判断+排序+分页功能的增强ORM框架
  4. iOS开发--QQ音乐练习,旋转动画的实现,音乐工具类的封装,定时器的使用技巧,SliderBar的事件处理
  5. 从Microsoft.AspNet.Identity看微软推荐的一种MVC的分层架构
  6. jqgrid显示一行的详情
  7. WebServiceCaller
  8. POJ 2724 Purifying Machine (二分图匹配)
  9. .NET程序猿 - 提升幸福感的组件一览
  10. shell登录模式及其相应配置文件(转)
  11. EasyUi 中datagrid 实现查询方法
  12. MySQL往表里插入千条数据 存储过程
  13. python 模拟126邮箱登陆
  14. Linux内核源码目录说明
  15. UUID 压缩为22位
  16. 【2018 ICPC亚洲区域赛徐州站 A】Rikka with Minimum Spanning Trees(求最小生成树个数与总权值的乘积)
  17. html 基本标签 ---短语
  18. 使用jmeter实现对jar包的调用
  19. 性能测试:压测中TPS上不去的几种原因分析(就是思路要说清楚)
  20. maven junit.framework不存在问题解决

热门文章

  1. InfiniBand技术简介
  2. 【转】web开发需要知道的事情
  3. hibernate spring 事务配置
  4. Hadoop完全分布式集群安装
  5. 固定IP和绑定了MAC,可以在设置无线路由器供笔记本电脑和平板上网吗?
  6. [基础] 重载的时候什么时候用引用&amp;
  7. [Locked] Paint House I &amp; II
  8. python 解析xml 文件: SAX方式
  9. poj1013
  10. IOS UIView 之属性篇