canvas(四) 绘制文字

绘制文本


canvas 提供了两种方法绘制文本:

fillText(text,x,y [,maxWidth])
在指定位置的(x,y)位置填充指定的文本,绘制的最大宽度是可选的。

strokeText(text,x,y, [,maxWidth])
在指定的位置绘制文本边框

一个填充文本的实例

function draw() {
    let canvas = document.getElementById('tutorial')
    if (canvas.getContext) {
        let ctx = canvas.getContext('2d');

        ctx.font = "20px Times New Roman"      
        ctx.fillText("Sample String", 5, 30);
    }
}
填充文本

一个边框文本的实例

function draw() {
    let canvas = document.getElementById('tutorial')
    if (canvas.getContext) {
        let ctx = canvas.getContext('2d');

        ctx.font = "48px Times New Roman"      
        ctx.strokeText("Sample String", 5, 50);
    }
}
边框文本

有样式的文本

font = value
设置文本的尺寸,默认字体是 10px sans-serif

textAlign = value
文本对气项,可选的值包括: start end left right center 默认值为 start

textBaseline value
基线对齐选项。可选的值包括:top hanging middle alphabetic ideographic bottom 默认值为 alphabetic

direction = value
文本方向,可用值: ltr rtl inherit 默认值是 inherit

文本裁量

当需要更多文本细节时,可以使用 measureText() 返回含文本特性的对象。

function draw() {
    let canvas = document.getElementById('tutorial')
    if (canvas.getContext) {
        let ctx = canvas.getContext('2d');

      

        ctx.font = "48px serif"
        ctx.textBseline = 'alphabetic'      
        ctx.strokeText("Sample String", 0, 100);

        var text = ctx.measureText("Sample")
        console.log(text.width)  // 返回144

    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,268评论 19 139
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,406评论 1 41
  • 最基本的使用创建一个画布所有的操作都在画布的context上面canvas是基于状态而不是基于对象的,比如说颜色都...
    亲爱的孟良阅读 1,685评论 0 4
  • 今天是五四青年节,但青春早已离我远去,即使这样,在这个特殊的日子里,我又回到了童年,回到了青春的那些岁月,与年轻的...
    远远的观望阅读 218评论 0 0
  • 作为一个浪漫的国度,作为一个讲究美食的国家,餐桌礼仪必不可少。肢体动作,餐巾摆放,刀叉摆放(左叉右刀),都是优雅进...
    竹欣儿阅读 219评论 0 0