前端技术实现文本文字纹理叠加


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

// 先引入context_blender.js,然后……

// canvas绘制脚本

var canvas = document.querySelector('canvas');

var context = canvas.getContext('2d');

var width = canvas.width, height = canvas.height;

context.textBaseline = 'middle';

context.font = 'bold 60px "Microsoft Yahei"';

// 绘制方法

var draw = function () {   

    context.clearRect(0, 0, width, height);

    // 渐变和纹理

    var gradient, pattern;

    // 创建材质canvas

    var canvasPattern = document.createElement('canvas');

    var contextUnder = canvasPattern.getContext('2d');

    canvasPattern.width = width;

    canvasPattern.height = height;

    // 创建渐变canvas

    var canvasGradient = document.createElement('canvas');

    var contextOver = canvasGradient.getContext('2d');

    canvasGradient.width = width;

    canvasGradient.height = height;

    // 绘制渐变对象

    gradient = contextOver.createLinearGradient(0, 0, 0, height);

    gradient.addColorStop(0, red);

    gradient.addColorStop(1, red);

    // 纹理对象,img指纹理图片对象

    pattern = contextUnder.createPattern(img, 'no-repeat');

    contextUnder.fillStyle = pattern;

    contextUnder.fillRect(0, 0, width, height);

    // 应用渐变

    contextOver.fillStyle = gradient;

    contextOver.fillRect(0, 0, width, height);

    // 叠加canvas

    contextOver.blendOnto(contextUnder, 'overlay');

    // 给当前context创建pattern

    pattern = context.createPattern(canvasPattern, 'no-repeat');

    // 绘制文本

    context.fillStyle = pattern;

    context.fillText('画布纹理叠加', 0, 60);

};

原理描述:

临时创建一个canvas绘制一个渐变,临时创建一个canvas使用纹理图片填充,两个canvas叠加混合得到新的canvas,然后页面上那个canvas上的文字就把这个叠加混合后canvas作为纹理进行填充,效果即达成。

兼容性

IE9+,Chrome, Safari, Firefox浏览器都支持。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读

android textinput显示不全怎么解决

JavaScript的继承与原型链

以上就是前端技术实现文本文字纹理叠加的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

前端技术实现文本文字纹理叠加

html怎样对图片实现checkbox方法

css设置文字外发光效果

css实现禁止选中文本

css怎么实现文本的垂直排列

html中有哪些标记文字注释的符号

h5中在拖动的元素或选择的文本进入到有效的放置目标时触发的事件ondragenter

html5 canvas的绘制文本自动换行的示例代码

jquery+jsonp跨域需要怎样实现

html的头标签meta如何实现refresh重新定向

更多相关阅读请进入《文字》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...