剪辑、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 星