холст: форма + тень - PullRequest
       8

холст: форма + тень

3 голосов
/ 10 февраля 2012

Мне нужно нарисовать фигуру, затем добавить тень, но тень над заполненным цветом. Мне нужно, чтобы она была под ним. Я не могу хорошо объяснить ситуацию, так что вот пример для jsfiddle

var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.beginPath();
context.moveTo(170, 80);
context.bezierCurveTo(130, 100, 130, 150, 230, 150);
context.bezierCurveTo(250, 180, 320, 180, 340, 150);
context.bezierCurveTo(420, 150, 420, 120, 390, 100);
context.bezierCurveTo(430, 40, 370, 30, 340, 50);
context.bezierCurveTo(320, 5, 250, 20, 250, 50);
context.bezierCurveTo(200, 5, 150, 20, 170, 80);
context.closePath();
context.lineWidth = 5;     
context.fillStyle = "#8ED6FF";
context.strokeStyle = "#0000ff";     
context.shadowColor = "#000000";
context.shadowBlur    = 2;
context.shadowOffsetX = 5;
context.shadowOffsetY = 5;
context.fill();     
context.stroke();

http://jsfiddle.net/j8u8p/ thx

1 Ответ

3 голосов
/ 10 февраля 2012

http://jsfiddle.net/j8u8p/11/

Примечание: все, что я сделал, это переставил контекстные вызовы и добавил в globalCompositeOperation

ps это выглядит лучше: http://jsfiddle.net/j8u8p/13/

ppsэто изменено, потому что вы застонали о разрыве: http://jsfiddle.net/j8u8p/16/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...