gpt4 book ai didi

javascript - 仅在 html5-canvas 上绘制阴影

转载 作者:太空狗 更新时间:2023-10-29 14:49:26 25 4
gpt4 key购买 nike

我想弄清楚如何在 Canvas 上绘制一些东西并只显示它的影子,例如:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.shadowBlur=100;
ctx.shadowOffsetX = 150;
ctx.shadowColor="red";
ctx.fillStyle="rgba(0,0,0,0.7)";
ctx.fillRect(20,20,100,80);

这里我画了一个黑色矩形并添加了一个带有偏移量的红色阴影,我希望只看到没有矩形的阴影。

如您在示例中所见,我尝试使用 rgba 颜色,但当我设置不透明度时,它也会影响阴影。

这是这段代码的 fiddle :http://jsfiddle.net/YYvFw/

最佳答案

首先想到的是将矩形移出 Canvas 并根据需要偏移阴影。

    var canvas = document.getElementById('myCanvas'),
context = canvas.getContext('2d'),
width = 100,
height = 80,
posX = 100,
posY = 80;

context.rect(-width, -height, width, height);
context.shadowColor = 'red';
context.shadowBlur = 40;
context.shadowOffsetX = width+posX;
context.shadowOffsetY = height+posY;
context.fill();

在 x:100 y:80 处绘制阴影

http://jsfiddle.net/S7WRx/2/

关于javascript - 仅在 html5-canvas 上绘制阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17062125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com