如何检测SVG区域的任何位置的颜色

时间:2013-04-11 22:46:29

标签: javascript svg

在SVG区域(不是画布)中,我需要使用javascript确定特定坐标(x,y)位置的颜色。总的来说是这样的:

getColor (mySvgArea, x, y);

1 个答案:

答案 0 :(得分:2)

通常在html链接中,如果访问过它们,则会以不同的颜色绘制。当然,在SVG中这样的事情也是可能的,并且很久以前就意识到,如果你能弄清楚颜色是什么,那就是隐私泄漏,而fixing that付出了很多努力。

如果您被允许在一般坐标上阅读颜色,它将重新打开隐私泄露,因此您无法在图像之外进行此操作。

图像方式是将您的SVG放在<image>标记中,然后将其加载到画布中。浏览器可以通过以下方式防止隐私泄露:a)污染画布,以便在SVG数据加载到其中后无法从中读取(Webkit当前)或b)恢复SVG图像功能,以便它们不会通过禁用事物来泄露隐私像链接着色(Firefox)

对于shows copying an SVG into canvas的示例,已经有一个stackoverflow答案。如果您使用的是Firefox,则可以将颜色读掉。