【发布时间】:2015-02-16 08:08:05
【问题描述】:
我正在创建一个界面,使用户能够使用叠加画布多边形在地图中突出显示自定义区域。如图。然后,我想从具有指定颜色的画布中获取 所有填充像素,以便我可以将该像素值转换为 geo LAT-LONG 值。我想创建自定义数据库,其中包含带有标记的自定义已知名称的 LAT-LONG 值范围。可以通过鼠标拖动来创建覆盖画布多边形。但是我在从画布中检索填充区域作为像素数组时遇到问题。我发现了
var imageData = ctx.getImageData(0,0,canvas.width,canvas.height);
var data=image.data;
但是,不可能迭代所有值并投射相关的 R、G、B 值并使用指定颜色对整个图像数据进行验证。相反,有没有办法将图像数据作为像素仅用于多边形的填充区域,如果有的话,请让我知道用于此目的的其他解决方案? ![在此处输入图片描述][1] 请帮帮我。
【问题讨论】:
-
如果每个多边形都是一个覆盖的画布,你应该可以使用 imageData 因为没有填充的应该是默认颜色
-
我明白你的意思,谢谢,但是我在将图像数据转换为像素数组时遇到了问题。
-
var data=image.data; data 是一个像素数组,但格式有点奇怪(R_G_B_A 第一个像素 = data[0]_data[1]_data[2]_data[3],第二个从 data[4] 开始)w3schools.com/tags/canvas_getimagedata.asp
标签: javascript html google-maps canvas coordinates