我有一些用D3js创建的图表,我想通过JavaScript转换为PNG图像,以便用户可以下载图表.
我见过将SVG转换为画布并将画布转换为图像的解决方案.这对我来说不起作用,因为SVG使用类来设置元素的样式(这是因为可持续性而不能改变的东西),这会导致整个画布变成黑色,线条非常粗.
是否可以直接将SVG图表转换为PNG?
该页面位于Ruby on Rails项目中,因此它不必是纯JavaScript解决方案,但我更喜欢使用JavaScript,所以我也可以在其他项目中实现它.
考虑以下方法,在byar gem中找到:
##
# Calculate lower boundary for observed cases
def self.lower_bound(obs, z_value = Z_VALUE)
return 0 if obs == 0
obs * (1 - 1.quo(9 * obs) - z_value.quo(3 * Math.sqrt(obs))) ** 3
end
##
# Calculate upper boundary for observed cases
def self.upper_bound(obs, z_value = Z_VALUE)
obs = obs + 1
obs * (1 - 1.quo(9 * obs) + z_value.quo(3 * Math.sqrt(obs))) ** 3
end
Run Code Online (Sandbox Code Playgroud)
我想将这些方法移植到Javascript,但我不确定是什么quo
.