HTML5 罐中的渐变位置
Gradient Position in HTML5 Canves
我正在HTML5中构建动态报告 我想在HTML5中添加2个颜色渐变。我的代码如下
var gradient = content.createLinearGradient(0, 0, 0, 30);
gradient.addColorStop(0, "rgb(255, 255, 255)");
gradient.addColorStop(1, "rgb(0, 0, 0)");
content.save();
content.fillStyle = gradient;
content.fillRect(0, 0, 100, 30);
content.restore();
它看起来不错,但是当我改变盒子渐变的位置时,请参阅下面的代码。
var gradient = content.createLinearGradient(0, 100, 0, 30);
gradient.addColorStop(0, "rgb(255, 255, 255)");
gradient.addColorStop(1, "rgb(0, 0, 0)");
content.save();
content.fillStyle = gradient;
content.fillRect(0, 100, 100, 30);
content.restore();
createLinearGradient 采用 x1, x2, y1, y2,
并制作从 (x1, y1) 到 (x2, y2) 的梯度。
fillRect 是不同的。它取 x、y、w、h,并从 (x, y) 制作一个宽 w 和高度 h 的矩形。
您现在拥有的代码创建一个从 (0, 100) 到 (0, 30) 的颠倒渐变,并尝试将其应用于从 (0, 100) 开始并在 (100, 130) 结束的矩形,因为它是 100 宽和 30 高。您看到的是纯色,因为渐变是在填充矩形之外绘制的。
简单的解决方法是调整渐变结束的位置:
var gradient = content.createLinearGradient(0, 100, 0, 130);
gradient.addColorStop(0, "rgb(255, 255, 255)");
gradient.addColorStop(1, "rgb(0, 0, 0)");
content.save();
content.fillStyle = gradient;
content.fillRect(0, 100, 100, 30);
content.restore();
记住,不要只玩数字,直到它们看起来正确。请务必阅读文档,并确保您知道要发送的参数:)
您可以尝试渐变生成器。
希望这有帮助。
相关文章:
- jquery试图按名称获取按钮位置
- 我可以获得相对于被点击元素的确切点击位置吗
- 谷歌地图固定位置覆盖
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 循环比赛位置算法
- es6 相当于下划线查找位置
- jQuery循环在特定位置暂停
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 自定义函数中的光标位置
- 安卓平台上的QWebView HTML5地理位置
- DIV并排,位置不正确
- 使用jQuery更改元素的顶部位置
- 在谷歌地图上绘制位置数据库
- 跟踪jqplot垂直折线图的鼠标位置
- 设置画布渲染器的x和y位置
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 如何在每次页面重新加载时更改渐变背景,同时保持光标位置元素处于活动状态
- HTML5 罐中的渐变位置
- 渐变图像-调用.fadeIn和.fadeOut的位置
- 如何根据浏览器滚动位置而不是时间来调整Greensock.js间的渐变