剪辑、save、restore的使用疑惑
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>canvas图片</title>
<style>
canvas {
background-color: lightblue;
}
</style>
</head>
<body>
<canvas id="canvas" width="800px" height="800px">您的浏览器不支持canvas
</canvas>
<script>
var canvas = document.getElementById("canvas");
var context = canvas.getContext('2d');
// context.save();
var img = new Image();
img.src = "http://img1.sycdn.imooc.com/climg//59a7df40000165fa06000600.jpg";
//在此处补充代码
context.arc(150, 150, 100, 0, Math.PI * 2, false);
context.clip();
context.fill();
img.onload = function(){
context.drawImage(img, 200, 20, 220, 200, 50, 50,200,200);
};
// context.restore();
context.shadowOffsetX = 15;
context.shadowOffsetY = 15;
context.shadowBlur = 20;
context.shadowColor = "red";
context.fill();
</script>
</body>
</html>老师您好,请看以上代码,我使用剪辑剪了一个图相关下来,效果如下
我想给这个圆形头像添加一个阴影来着,结果无效,我想着,应该是剪辑的原因只能在这个范围内绘制,然后我到了save() 和restore()这两个方法,然后我在最前面保存了环境,我想在绘制阴影的时候恢复环境,然后绘制,结果一下子把剪辑的效果都给恢复了,我就在想了,那这个save 和restore有什么用呢,一招回到解放前,前面设置的样式统统失效
19
收起
正在回答
2回答
同学你好,同学可以参考如下方式实现给裁剪图片添加阴影:

希望可以帮到你!
3.WebAPP开发与小程序
- 参与学习 人
- 提交作业 622 份
- 解答问题 6815 个
微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星