HTML5 Canvas Text实例1
1.简单实例1
<canvas width="300" height="300" id="canvasOne" class="canvasOne"></canvas>
<script>
var cancasOne = document.getElementById('canvasOne');
var ctx = cancasOne.getContext('2d');
ctx.font = 'bold 20px 微软雅黑';
ctx.fillText('张三丰', 10, 30);
//创建渐变文字
ctx.font = "30px Verdana";
var grandient = ctx.createLinearGradient(0, 0, canvasOne.width, 0);
grandient.addColorStop('0', "magenta");
grandient.addColorStop('0.5', 'blue');
grandient.addColorStop('1.0', 'red');
//用渐变填色
ctx.fillStyle = grandient;
ctx.fillText('tinama3798.cn', 10, 100);
</script>

2.实例2:
<canvas width="301" height="301" id="canvasOne" class="canvasOne"></canvas>
<script>
var cancasOne = document.getElementById('canvasOne');
var ctx = cancasOne.getContext('2d');
//画参考线
function drawLine() {
ctx.save();
ctx.strokeStyle = 'blue';
//横线
ctx.beginPath();
ctx.moveTo(0, canvasOne.width / 2);
ctx.lineTo(canvasOne.height, canvasOne.width / 2);
ctx.stroke();
//竖线
ctx.beginPath();
ctx.moveTo(canvasOne.width / 2, 0);
ctx.lineTo(canvasOne.width / 2, canvasOne.height);
ctx.stroke();
ctx.restore();
}
drawLine();
ctx.font = 'bold 50px 楷体';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.fillText('张三丰', canvasOne.width / 2,
canvasOne.height / 2);
</script>

3.实例3:
<input id="inputOne" />
<canvas width="200" height="200" id="canvasOne" class="canvasOne"></canvas>
<script>
var cancasOne = document.getElementById('canvasOne');
var ctx = cancasOne.getContext('2d');
//画参考线
function drawLine() {
ctx.save();
var point1 = [5, 5],
point2 = [5, 195],
point3 = [195, 5],
point4 = [195, 195]; //2.画对角线
ctx.lineWidth = 0.5;
ctx.strokeStyle = '#b4210f';
ctx.beginPath();
moveTo(point1);
lintTo(point4);
ctx.stroke();
moveTo(point2);
lineTo(point3);
ctx.stroke();
ctx.closePath();
//2.画 内线
ctx.beginPath();
var xCenter = (point4[0] - point1[0]) / 2 + point1[0];
var yCenter = (point4[1] - point1[1]) / 2 + point1[1];
//横线
moveTo([point1[0], yCenter]);
lineTo([point4[1], yCenter]);
ctx.stroke();
moveTo([xCenter, point1[1]]);
lintTo([xCenter, point4[0]]);
ctx.stroke();
ctx.closePath();
//1.画 边线
ctx.lineWidth = 2;
ctx.lineCap = 'square';
ctx.strokeStyle = '#FE0000';
ctx.beginPath();
moveTo(point1);
lineTo(point2, point4, point3, point1);
ctx.stroke();
ctx.closePath(); ctx.restore();
}
function lineTo() {
for (var i = 0; i < arguments.length; i++) {
var item = arguments[i];
lintTo(item);
}
}
function lintTo(point) {
ctx.lineTo(point[0], point[1]);
}
function moveTo(point) {
ctx.moveTo(point[0], point[1]);
}
drawLine();
function setValue(text) {
//清屏幕
ctx.clearRect(0, 0, canvasOne.width, cancasOne.height);
ctx.fillStyle = 'white';
ctx.fillRect(0, 0, cancasOne.width, cancasOne.height);
//画参考线
drawLine();
//画字
ctx.font = 'bold 140px 楷体';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.fillStyle = 'black';
ctx.fillText(text, canvasOne.width / 2,
canvasOne.height / 2);
}
var inputOne = document.getElementById('inputOne');
inputOne.onchange = function () {
console.info(inputOne.value);
setValue(inputOne.value);
}
</script>

HTML5 Canvas Text实例1的更多相关文章
- Html5 Canvas Text
html5 canvas中支持对text文本进行渲染;直接的理解就是把text绘制在画布上,并像图形一样处理它(可以加shadow.gradient.pattern.color fill等等):既然它 ...
- HTML5 Canvas Text文本居中实例
1.代码: <canvas width="700" height="300" id="canvasOne" class="c ...
- html5 canvas类库 实例
http://threejs.org/examples/ http://ocanvas.org/demos https://processing.org/examples/rotatexy.html ...
- HTML5 Canvas 填充与描边(Fill And Stroke)
HTML5 Canvas 填充与描边(Fill And Stroke) 演示HTML5 Canvas Fill 与Stroke文字效果,基于Canvas如何实 现纹理填充与描边. 一:颜色填充与描边 ...
- HTML5 Canvas图片操作简单实例1
1.加载显示图片 <canvas id="canvasOne" class="myCanvas" width="500" height ...
- html5 canvas 圆形抽奖的实例
年底没啥,抽空学习了canvas,写了个html5抽奖的代码,造了个轮子,有用的童鞋可以拿走. 其中,canvas.onclick触发抽奖行为,概率可以在core.lottery()函数上添加,美化也 ...
- HTML5 程序设计 - 使用HTML5 Canvas API
请你跟着本篇示例代码实现每个示例,30分钟后,你会高喊:“HTML5 Canvas?!在哥面前,那都不是事儿!” 呵呵.不要被滚动条吓到,很多都是代码和图片.我没有分开写,不过上面给大家提供了目录,方 ...
- html5 Canvas绘制图形入门详解
html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome. ...
- HTML5 Canvas arc()函数//////////////////////(转)
HTML5 Canvas arc()函数 实例 创建一个圆形: var c=document.getElementById("myCanvas"); var ctx=c.get ...
随机推荐
- [BZOJ 1801] [Ahoi2009]chess 中国象棋 【DP】
题目链接:BZOJ - 1801 题目分析 对于50%的数据是可以直接状压 DP 的. 对于100%的数据,使用递推的 DP .(或者这只叫递推不叫 DP ?) 可以发现,每一行和每一列的棋子个数不能 ...
- OTP语音芯片和掩模语音芯片(mask)的区别
OTP(One Time Programable)是MCU的一种存储器类型,意思是一次性可编程:程序烧入IC后,将不可再次更改和:因此OTP语音芯片就是指一次性烧录的语音IC. 从OTP定义上来看,只 ...
- zz将 VSTO 插件部署给所有用户
原文:zz将 VSTO 插件部署给所有用户 注:本文原作者 Misha Shneerson 是 VSTO 团队的工程师.原文可以在下列地址找到:http://blogs.msdn.com/mshnee ...
- 【转】寻找最好的笔记软件:三强篇(EverNote、Mybase、Surfulater) (v1.0) (
原文网址:http://blog.sina.com.cn/s/blog_46dac66f01000b57.html 寻找最好的笔记软件:三强篇(EverNote.Mybase.Surfulater) ...
- 【转】java中float与byte[]的互转 -- 不错
原文网址:http://tjmljw.iteye.com/blog/1767716 起因:想把一个float[]转换成内存数据,查了一下,下面两个方法可以将float转成byte[]. 方法一 imp ...
- 【搜索】【并查集】Codeforces 691D Swaps in Permutation
题目链接: http://codeforces.com/problemset/problem/691/D 题目大意: 给一个1到N的排列,M个操作(1<=N,M<=106),每个操作可以交 ...
- A Mini Locomotive(动态规划 01)
/* 题意:选出3个连续的 数的个数 为K的区间,使他们的和最大 分析: dp[j][i]=max(dp[j-k][i-1]+value[j],dp[j-1][i]); dp[j][i]:从 ...
- [操作系统] OS X Yosemite U盘制作
话不多说,DiskMakerX,大小6.3M,下载地址:http://www.liondiskmaker.com/,然后准备好U盘和从官网下的Yosemite系统就可以开始了. DiskMaker X ...
- Binary Tree Preorder Traversal on LeetCode in Java
二叉树的非递归前序遍历,大抵是很多人信手拈来.不屑一顾的题目罢.然而因为本人记性不好.基础太差的缘故,做这道题的时候居然自己琢磨出了一种解法,虽然谈不上创新,但简单一搜也未发现雷同,权且记录,希望于人 ...
- 第一节:Scrapy开源框架初探
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 具体开发流程如下: 一.确定待抓取网站 当您需要从某 ...