CanvasGradient.addColorStop() - Web API 接口参考 编辑
CanvasGradient
.addColorStop()
方法添加一个由偏移值
和颜色值
指定的断点到渐变。如果偏移值不在0
到1
之间,将抛出INDEX_SIZE_ERR
错误,如果颜色值不能被解析为有效的CSS颜色值 <color>
,将抛出SYNTAX_ERR
错误。
语法
void gradient.addColorStop(offset, color);
参数
- offset
0
到1
之间的值,超出范围将抛出INDEX_SIZE_ERR
错误- color
- CSS颜色值
<color>
。如果颜色值不能被解析为有效的CSS颜色值<color>
,将抛出SYNTAX_ERR
错误。
示例
使用addColorStop方法
一个使用CanvasGradient
对象的addColorStop
方法的简单例子
HTML
<canvas id="canvas"></canvas>
JavaScript
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var gradient = ctx.createLinearGradient(0,0,200,0);
gradient.addColorStop(0,"green");
gradient.addColorStop(1,"white");
ctx.fillStyle = gradient;
ctx.fillRect(10,10,200,100);
编辑以下代码可看到画布变化:
Playable code
<canvas id="canvas" width="400" height="200" class="playable-canvas"></canvas>
<div class="playable-buttons">
<input id="edit" type="button" value="Edit" />
<input id="reset" type="button" value="Reset" />
</div>
<textarea id="code" class="playable-code">
var gradient = ctx.createLinearGradient(0,0,200,0);
gradient.addColorStop(0,"green");
gradient.addColorStop(1,"white");
ctx.fillStyle = gradient;
ctx.fillRect(10,10,200,100);</textarea>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var textarea = document.getElementById("code");
var reset = document.getElementById("reset");
var edit = document.getElementById("edit");
var code = textarea.value;
function drawCanvas() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
eval(textarea.value);
}
reset.addEventListener("click", function() {
textarea.value = code;
drawCanvas();
});
edit.addEventListener("click", function() {
textarea.focus();
})
textarea.addEventListener("input", drawCanvas);
window.addEventListener("load", drawCanvas);
标准
标准 | 状态 | 备注 |
---|---|---|
HTML Living Standard CanvasGradient.addColorStop | Living Standard | |
Unknown CanvasGradient.addColorStop | Recommendation |
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!功能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本支持 | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
功能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本支持 | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
请参阅
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论