Я пытаюсь сделать снимок экрана страницы, на которой изображения наложены линейным градиентом с помощью html2canvas. Высота изображения варьируется, но ширина фиксирована на 210 пикселей, поэтому мне нужно использовать cal c для вычисления положений градиента, который не отображается так, как он выглядит на экране.
Пример со значениями stati c: https://jsfiddle.net/vpj3bz7s/1/
.linearGradient {
height: 200px;
width: 210px;
background-image: linear-gradient(to top left,
yellow 0%,
yellow 80px,
red 80px,
red 110px,
yellow 110px,
yellow 100%);
}
html2canvas(document.body).then(function(canvas) {
document.body.appendChild(canvas);
}
);
<div class="linearGradient"></div>
Пример со значениями cal c: https://jsfiddle.net/dk309pf6/2/
.linearGradient {
height: 200px;
width: 210px;
background-image: linear-gradient(to top left,
yellow 0%,
yellow calc(50% - 10px),
red calc(50% - 10px),
red calc(50% + 10px),
yellow calc(50% + 10px),
yellow 100%);
}
html2canvas(document.body).then(function(canvas) {
document.body.appendChild(canvas);
}
);
<div class="linearGradient"></div>
Редактировать: Фактическое изображение, наложенное на градиент, выглядит следующим образом:
На скриншоте это выглядит так:
JS Скрипка с моим фактическим кодом выглядит следующим образом (но скриншот немного отличается от моего исходного)
https://jsfiddle.net/nrfjh8m3/1/