首页 > 解决方案 > 画布颜色适用于 chrome,不适用于 Safari

问题描述

我的画布渲染在 chrome 上显示正确的颜色,但在 safari 和移动浏览器上显示黑色形状。

这是我构造填充字符串的方式: let fillStr = `rgb(${fill.r * 256},${fill.g * 256},${fill.b * 256})`;

标签: htmlcanvashtml5-canvas

解决方案


在这个问题中,生成的填充颜色将是一个浮点数 (xx.xx...) Safari 不支持填充颜色中的浮点数。

我们应该将数字转换为整数,例如: let fillStr = `rgb(${Math.floor(fill.r * 256)},${Math.floor(fill.g * 256)},${Math.floor(fill.b * 256)})`;


推荐阅读