html - 画布颜色适用于 chrome,不适用于 Safari
问题描述
我的画布渲染在 chrome 上显示正确的颜色,但在 safari 和移动浏览器上显示黑色形状。
这是我构造填充字符串的方式:
let fillStr = `rgb(${fill.r * 256},${fill.g * 256},${fill.b * 256})`;
解决方案
在这个问题中,生成的填充颜色将是一个浮点数 (xx.xx...) Safari 不支持填充颜色中的浮点数。
我们应该将数字转换为整数,例如:
let fillStr = `rgb(${Math.floor(fill.r * 256)},${Math.floor(fill.g * 256)},${Math.floor(fill.b * 256)})`;
推荐阅读
- javascript - div内容相互覆盖
- apache-spark-sql - 我在 Spark Dataframe 中使用 numPartitions、lowerBound、upperBound 从 oracle 获取大表到 hive 但无法摄取完整数据
- ruby-on-rails - button_to 确认不起作用
- python - Python,原始输入列表列表
- git - 有没有办法在 pull request git 中包含旧的提交?
- javascript - onAnimation 完整显示条形图数据
- javascript - 在 JavaScript/TypeScript 中运行时杀死一个函数
- python - 使用 itertuples 索引超出范围
- ocaml - 弃用以 create 开头的函数并将其替换为以 make 开头的函数的原因是什么?
- r - 如何创建一个汇总其他列中出现次数的列