为了账号安全,请及时绑定邮箱和手机立即绑定

不使用颜色混合创建LinearGradient

不使用颜色混合创建LinearGradient

陪伴而非守候 2024-01-18 14:41:22
使用 ,createLinearGradient我们可以根据 中的停止值创建颜色渐变和颜色混合addColorStop。var gradient = ctx.createLinearGradient(0, 0, 0, 400);     gradient.addColorStop(0, 'blue');        gradient.addColorStop(1, 'red');我们是否可以避免颜色混合并根据停止值具有不同的颜色而不使用混合或渐变。createLinearGradient也许这对于任何其他 API都是不可能的?fillRect我知道我们可以使用两个不同的和来创建它fillStyle。
查看完整描述

1 回答

?
达令说

TA贡献1821条经验 获得超6个赞

我不是 100% 确定你的意思,但如果你想要两种不同颜色的清晰停止,你可以简单地将两种颜色设置在相同的停止位置:


const canvas = document.querySelector("canvas");

const ctx = canvas.getContext("2d");

const grad = ctx.createLinearGradient(0,0,0,150);

// implicit from -Infinity "green"

grad.addColorStop(0.33, "green");

grad.addColorStop(0.33, "yellow"); // same stop as previous color

grad.addColorStop(0.66, "yellow");

grad.addColorStop(0.66, "red");    // same stop as previous color

// implicit to +Infinity "red"

ctx.fillStyle = grad;

ctx.fillRect(0,0,300,150);

<canvas></canvas>


查看完整回答
反对 回复 2024-01-18
  • 1 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信