近年来网络建站火爆起来啦!你们听过 vue.js 么?这东西真好用,简直就是我们程序员的救星。再说说 HTML5 的Canvas,图像动画显示得超美!那就让我来教大家怎么利用vue.js 和 Canvas 做出绝美的字体和文字特效。
在Vue项目中引入和使用Canvas
想做啥子?就是在Vue项目里加个新组件。然后,把Canvas元素加到模版里就完事儿了!
html
接下来,咱们得给这个组件加点Javascript料了,比如搞个CanvasRenderingContext2D对象,也就是画布环境那个东东。然后把它跟Canvas元素捆绑起来,就搞定!
javascript export default { mounted() { 咱们编程和制图用的小白板叫Canvas,但你知不知道其实也有人喊它$refs.myCanvas! 咱们就用画布的2D图形库,名字叫ctx。 // 在这里你可以使用ctx进行各种Canvas操作 } }; 搞定!Vue项目里面也能用Canvas咯~ 实现自定义字体 想让字体变独特,你得找到适合自己的字重,然后在画布上慢慢调就成。如果你知道@font-face规则,那么Vue也可以帮你轻松导入喜欢的字体!
css
@font-face {
font-family: ‘MyCustomFont’;
这玩意儿在这儿哦:/path/to/font.woff
}
刚刚那串代码里提到了”MyCustomFont”这款字型,而且我们也告诉了你在哪儿能找到这个字型文件!现在,你就可以随便修改画布上的字母属性比如这样:
字体设成40像素的我自定义的那个。
把字号设成”40px MyCustomFont”,Canvas就能用你选的字体!
实现文字特效
改文字,就是把字母或者数字画出来,还能加上动画特效!瞧好了,现在就教大家在Canvas上怎么做出个超简单的功能,输入一个字就能变色~
data() {
return {
color: ‘black’
};
},
const canvas = this.$refs.canvas; const ctx = canvas.getContext('2d'); // 在这里进行绘制操作
想换字号?直接把’size=”40px MyCustomFont” 换成你喜欢的数字就行!
ctx.fillStyle = this.color;
画个”点击我!”的小标签,点这里。
methods: {
changeColor() {
这个东西就是换颜色玩儿黑的变红的,红的变黑的。
瞧这儿,我把画布放到了$refs.myCanvas里!
咱们就来画个画,拿ctx当画家的纸和笔。
清空画布,0到画布的高度再到画布的宽度都要清除。
字体换成40像素的MyCustomFont。
ctx.fillStyle = this.color;
在画布上点我!(坐标是100,100)
}
你看那个小游戏,随便点两下就能换颜色,一会儿黑一会儿红的。
动态文字动画
不管你想换颜色还是加花样,统统交给我们!就比如Canvas画布上的文字特效这些小事,肯定没问题!
x: 100,
y: 100,
dx: 2,
dy: 2
this.animate(ctx, canvas);
animate(ctx, canvas) {
很简单!只要不停地循环使用Animate这个绘图软件(也就是让它用requestAnimationFrame不断动起来),时不时观察下效果如何就行了(主要关注ctx和canvas这两个参数~)。
ctx.fillStyle = ‘black’;
在这点上,你可以把文字涂黑,然后打个“动起来”的文本!
this.x += this.dx;
this.y += this.dy;
走错了或是做过火?给你两条建议:要不就回个头重新开始,要不就改变路线。
this.dx = -this.dx;
}
如果我在画布上的位置是在最上面或最下面,那么…
this.dy = -this.dy;
这个就是个简单的小游戏。让文字在屏幕上晃来晃去,还可能蹦到左右两侧!
文字阴影效果
想让你写字更酷?试试在画布(Canvas)上添个阴影呗!看看这个超简单教学就知道了!
ctx.fillStyle = ‘black’;
黑色的阴影,就是黑中透灰咯。
ctx.shadowBlur = 10;
ctx.shadowOffsetX = 5;
ctx.shadowOffsetY = 5;
直接在纸上写下,加上阴影还有 (100, 100)就是开始的地方。
轻松搞定!只需动动手指,炫酷文字立刻呈现在眼前。Step 1:调整阴影颜色和模糊度;Step2:添加偏移量就可以了!搞定收工!
文字渐变效果
告诉你个秘密,在Canvas画布上写字也能玩渐变色彩!赶紧学起来,肯定让你大开眼界!
我们就用线把左下边的(0, 0)点和右边的(canvas.width, 0)点连起来。
你就先从红色开始,这样就能让那颜色慢慢地变得更浅了哦:gradient.addColorStop(0,’red’)。
把渐变的颜色半途设置为绿色。
不要忘了给梯度添加色彩停止,第一个颜色是蓝色!
ctx.fillStyle = gradient;
画在下边儿那点,就在100-100那儿加个渐变颜色搞定啦!
看看这个,给字加上 createLinearGradient 就能做出个横着的渐变色,赶紧往上贴,那样字和颜色就会完美地结合在一起!
文字描边效果
看这个新东西,让我们在写字时加点小香气!简单几步就能在画布上写下有香味的字体啦——
ctx.strokeStyle = ‘blue’;
ctx.lineWidth = 2;
搞定,在100,100的地方
在我们这儿添字要用 strokeStyle和lineWidth,这俩搭配很厉害。
文字旋转效果
想让字体跳舞吗?其实挺简单的,只需要给它转个弯就能实现!这篇文章就教你如何在家中使用Canvas画布轻松搞定这个炫酷效果。
ctx.translate(100, 100);
ctx.rotate(Math.PI / 4);
就在那儿挥笔写下‘转啊转’(0, 0)这个位置上哈。
你知道怎么用translate跟rotate做出旋转文字效果吗
文字缩放效果
哥儿几个,聊聊如何让你的数字活起来!canvas上搞个缩放效果,看看它们飞快地动得多过瘾!其实挺容易的,写几行代码就能做到:
ctx.scale(2, 2);
在(50,50)的地方随手画个字,’缩放文本!’
在这个例子中,我们使用scale方法来实现文字的缩放效果。
文字路径效果
想要文字变潮?不如试试自己设计笔画!下面分享步骤哦:
ctx.moveTo(100, 100);
来,一起来画一下从(200,100)连到(300,200),再从(300,200)连到(400,100)的贝塞尔曲线!
ctx.stroke();
在(100, 100)位置打上了”路径文字”。
快点动手!用上‘开始路径’、‘移动到’和‘贝塞尔曲线到’这些功能,把字画出来看看效果!跟着线条走走看哟~
总结
想知道如何用Vue.js的Canvas玩转字体和动态效果吗?我这有绝活儿告诉你!无论是字体变色还是动态效果,Canvas统统帮你搞定。快用这些小技巧来点亮你的网页,炫酷到底!
问题
评论0