canvas合成图形、绘制图像、绘制文字与阴影

●合成图形

利用globalCompositeOperation属性来决定图形合成时的效果;
利用globalAlpha属性来设置透明度;
context.globalCompositeOperation = type;
context.globalAlpha = 0.5;
type值:(一部分)
source-over: 新图形覆盖原有图形
destination-over:在原有图形下绘制新图形
source-atop:新图形与原图形重叠部分会被绘制,其他部分变成透明,并覆盖于原有图形之上。
lighter:两图形重叠部分做加色处理
darker:两图形中重叠部分做减色处理
copy: 只有新图形被保留,其他部分被清除
xor: 重叠部分会变成透明

●绘制图像

绘制图像常用drawImage()方法有三种形式:
1:传入一个image对象,目标坐标,在指定位置绘制图像
context.drawImage(image,dx,dy);
2:可以在上一种形式的基础上添加两个参数改变绘制方法
context.drawImage(image,dx,dy,dw,dh);
dw,dh表示绘制图像时的宽度和高度
3:9个参数
context.drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh)
sx和sy表示源图像的x,y坐标;
sw和sh表示源图像的宽度和高度;
dx和dy表示目标图像的x,y坐标;
dw和dh表示目标图像的宽高;

●绘制文字与阴影

绘制文字

1:font属性: 获取或设置文字的大小
2:textAlign属性: 获取或设置文字对齐方式
3:textBaseline属性: 获取或设置文字的对齐基线
context.fillText(text,x,y)绘制文字;
context.stroketText(text,x,y)对文字进行描边,不填充区域

阴影特效
1:shadowBlur 返回或者设置阴影模糊等级
2:shadowColor 返回或设置阴影颜色
3:shadowOffsetX 返回或者设置阴影的横向偏移量
4:shadowOffsetY 返回或设置阴影的纵向偏移量
在这里插入图片描述

<script>
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');
    ctx.fillStyle = '#00f';
    ctx.font = ' 30px sans-serif';
    ctx.textBeseline = 'bottom';
    ctx.fillText("我要绘制的文本",0,59);
    ctx.strokeText("我要绘制的文本",0,100);
    ctx.shadowColor = '#000';
    ctx.shadowOffsetX = 10;// 设置阴影的横向偏移量
    ctx.shadowOffsetY = 10;
    ctx.shadowBlur = 10;// 设置模糊等级
    ctx.fillStyle = 'rgba(0,0,255,1)';
    ctx.fillRect(100,120,200,100);
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值