在SVG区域(不是画布)中,我需要使用javascript确定特定坐标(x,y)位置的颜色。总的来说是这样的:
getColor (mySvgArea, x, y);
答案 0 :(得分:2)
通常在html链接中,如果访问过它们,则会以不同的颜色绘制。当然,在SVG中这样的事情也是可能的,并且很久以前就意识到,如果你能弄清楚颜色是什么,那就是隐私泄漏,而fixing that付出了很多努力。
如果您被允许在一般坐标上阅读颜色,它将重新打开隐私泄露,因此您无法在图像之外进行此操作。
图像方式是将您的SVG放在<image>
标记中,然后将其加载到画布中。浏览器可以通过以下方式防止隐私泄露:a)污染画布,以便在SVG数据加载到其中后无法从中读取(Webkit当前)或b)恢复SVG图像功能,以便它们不会通过禁用事物来泄露隐私像链接着色(Firefox)
对于shows copying an SVG into canvas的示例,已经有一个stackoverflow答案。如果您使用的是Firefox,则可以将颜色读掉。