canvas--如何做一组炫酷的文本

要想做一组炫酷的文本,首先我们要知道如何在canvas画布上书写文本,其次我们要学会阴影和渐变的基本用法,这里由于是文字所以以线性渐变为例

  1. 使用 canvas 绘制文本,重要的属性和方法如下:
    font - 定义字体
    fillText(text,x,y) - 在 canvas 上绘制实心的文本
    strokeText(text,x,y) - 在 canvas 上绘制空心的文本
  2. canvas 阴影 重要属性
  • shadowColor 属性设置或返回用于阴影的颜色。
  • shadowBlur 属性设置或返回阴影的模糊级数。
  • shadowOffsetX 属性设置或返回形状与阴影的水平距离,shadowOffsetX大于0表示阴影位于右侧,反之位于左侧。
  • shadowOffsetY 属性设置或返回形状与阴影的垂直距离。大于0表示阴影位于下面,反之位于上部
    3.Canvas - 渐变(这里主要使用线性渐变)
    以下有两种不同的方式来设置Canvas渐变:
    createLinearGradient(x,y,x1,y1) - 创建线条渐变
    createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向渐变
    当我们使用渐变对象,必须使用两种或两种以上的停止颜色。
    addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0至1.
    使用渐变,设置fillStyle或strokeStyle的值为 渐变,然后绘制形状,如矩形,文本,或一条线。

基本的知识都在这里,那么现在来实施:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{
            text-align: center;
        }
        canvas{
            border: 1px solid;
        }
    </style>
</head>
<body>
    <canvas width="800" height="500"></canvas>
    <script>
        var oCanvas=document.querySelector('canvas');
        if(oCanvas.getContext){
            var ctx=oCanvas.getContext('2d');
            // 加上渐变
            //水平渐变
            var lingrad=ctx.createLinearGradient(100,200,500,200);
            //加上颜色
            lingrad.addColorStop(0.5,'#cc6677');
            lingrad.addColorStop(1,'#000')
            // 加阴影
            ctx.shadowColor='#113195';
            ctx.shadowBlur=10;//模糊度
            ctx.shadowOffsetX=10;//水平方向偏移量,大于零往左,
            ctx.shadowOffsetY=10;//垂直方向偏移量,大于零往下
            ctx.font='bold  italic  160px  Arial'
            // font-weight font-style(正常 倾斜 斜线) font-size font-family
           ctx.fillStyle=lingrad;
            ctx.fillText('Hello',100,200)
        }
    </script>
</body>
</html>

颜色自己设置自己喜欢的颜色就好
11
颜色嗯有点丑,方法最重要····
大家还可以加上一点动画效果,让文字里面的光自己动起来,这里不做过多演示····

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值